diff options
author | Paolo Abeni <pabeni@redhat.com> | 2024-02-20 09:23:00 +0100 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2024-02-20 09:23:00 +0100 |
commit | bb18fc7a521b41bfee201643f65d7b74bc6b901f (patch) | |
tree | 1b4f042cb1272aa4fb9fbefa7c9db26a33708804 /net/ipv4/tcp_ao.c | |
parent | 74293ea1c4db62cb969e741fbfd479a34d935024 (diff) | |
parent | 21d2e6737c9789aa9b23c8a4131cbca8260139fd (diff) |
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/ipv4/tcp_ao.c')
0 files changed, 0 insertions, 0 deletions