[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-mm
Subject: [PATCH 19/24] xdp: Convert to netmem
From: "Matthew Wilcox (Oracle)" <willy () infradead ! org>
Date: 2022-11-30 22:07:58
Message-ID: 20221130220803.3657490-20-willy () infradead ! org
[Download RAW message or body]
We dereference the 'pp' member of struct page, so we must use a netmem
here.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
net/core/xdp.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/net/core/xdp.c b/net/core/xdp.c
index 844c9d99dc0e..7520c3b27356 100644
--- a/net/core/xdp.c
+++ b/net/core/xdp.c
@@ -375,17 +375,18 @@ EXPORT_SYMBOL_GPL(xdp_rxq_info_reg_mem_model);
void __xdp_return(void *data, struct xdp_mem_info *mem, bool napi_direct,
struct xdp_buff *xdp)
{
+ struct netmem *nmem;
struct page *page;
switch (mem->type) {
case MEM_TYPE_PAGE_POOL:
- page = virt_to_head_page(data);
+ nmem = virt_to_netmem(data);
if (napi_direct && xdp_return_frame_no_direct())
napi_direct = false;
- /* No need to check ((page->pp_magic & ~0x3UL) == PP_SIGNATURE)
+ /* No need to check ((nmem->pp_magic & ~0x3UL) == PP_SIGNATURE)
* as mem->type knows this a page_pool page
*/
- page_pool_put_full_page(page->pp, page, napi_direct);
+ page_pool_put_full_netmem(nmem->pp, nmem, napi_direct);
break;
case MEM_TYPE_PAGE_SHARED:
page_frag_free(data);
--
2.35.1
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic