Messages in this thread | | | From | Shakeel Butt <> | Date | Wed, 10 Jan 2024 10:45:00 -0800 | Subject | Re: [RFC PATCH net-next v5 1/2] net: introduce abstraction for network memory |
| |
On Mon, Jan 8, 2024 at 5:15 PM Mina Almasry <almasrymina@google.com> wrote: > > Add the netmem_ref type, an abstraction for network memory. > > To add support for new memory types to the net stack, we must first > abstract the current memory type. Currently parts of the net stack > use struct page directly: > > - page_pool > - drivers > - skb_frag_t > > 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 compiler type checking we need to introduce a new type. > > netmem_ref 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/ > > netmem_ref can be pointers to different underlying memory types, and the > low bits are set to indicate the memory type. Helpers are provided > to convert netmem pointers to the underlying memory type (currently only > struct page). In the devmem series helpers are provided so that calling > code can use netmem without worrying about the underlying memory type > unless absolutely necessary. > > Signed-off-by: Mina Almasry <almasrymina@google.com> >
Reviewed-by: Shakeel Butt <shakeelb@google.com>
| |