diff options
author | 2024-02-20 09:23:00 +0100 | |
---|---|---|
committer | 2024-02-20 09:23:00 +0100 | |
commit | bb18fc7a521b41bfee201643f65d7b74bc6b901f (patch) | |
tree | 1b4f042cb1272aa4fb9fbefa7c9db26a33708804 /net/core/sock.c | |
parent | net: sysfs: Do not create sysfs for non BQL device (diff) | |
parent | net: add netmem to skb_frag_t (diff) | |
download | wireguard-linux-bb18fc7a521b41bfee201643f65d7b74bc6b901f.tar.xz wireguard-linux-bb18fc7a521b41bfee201643f65d7b74bc6b901f.zip |
Merge branch 'abstract-page-from-net-stack'
Mina Almasry says:
====================
Abstract page from net stack
This series is a prerequisite to the devmem TCP series. For a full
snapshot of the code which includes these changes, feel free to check:
https://github.com/mina/linux/commits/tcpdevmem-rfcv5/
Currently these components in the net stack use the struct page
directly:
1. Drivers.
2. Page pool.
3. skb_frag_t.
To add support for new (non struct page) memory types to the net stack, we
must first abstract the current memory type.
Originally the plan was to reuse struct page* for the new memory types,
and to set the LSB on the page* to indicate it's not really a page.
However, for safe compiler type checking we need to introduce a new type.
struct netmem is introduced to abstract the underlying memory type.
Currently it's a no-op abstraction that is always a struct page underneath.
In parallel there is an undergoing effort to add support for devmem to the
net stack:
https://lore.kernel.org/netdev/20231208005250.2910004-1-almasrymina@google.com/
Cc: Jason Gunthorpe <jgg@nvidia.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Yunsheng Lin <linyunsheng@huawei.com>
Cc: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
====================
Link: https://lore.kernel.org/r/20240214223405.1972973-1-almasrymina@google.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/core/sock.c')
0 files changed, 0 insertions, 0 deletions