From: Paolo Abeni Date: Tue, 20 Feb 2024 08:23:00 +0000 (+0100) Subject: Merge branch 'abstract-page-from-net-stack' X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=bb18fc7a521b41bfee201643f65d7b74bc6b901f;p=linux.git 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 Cc: Christian König Cc: Shakeel Butt Cc: Yunsheng Lin Cc: Willem de Bruijn ==================== Link: https://lore.kernel.org/r/20240214223405.1972973-1-almasrymina@google.com Signed-off-by: Paolo Abeni --- bb18fc7a521b41bfee201643f65d7b74bc6b901f