[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230111042214.907030-21-willy@infradead.org>
Date: Wed, 11 Jan 2023 04:22:08 +0000
From: "Matthew Wilcox (Oracle)" <willy@...radead.org>
To: Jesper Dangaard Brouer <hawk@...nel.org>,
Ilias Apalodimas <ilias.apalodimas@...aro.org>
Cc: "Matthew Wilcox (Oracle)" <willy@...radead.org>,
netdev@...r.kernel.org, linux-mm@...ck.org,
Shakeel Butt <shakeelb@...gle.com>,
Jesper Dangaard Brouer <brouer@...hat.com>,
Jesse Brandeburg <jesse.brandeburg@...el.com>
Subject: [PATCH v3 20/26] xdp: Convert to netmem
We dereference the 'pp' member of struct page, so we must use a netmem
here.
Signed-off-by: Matthew Wilcox (Oracle) <willy@...radead.org>
Acked-by: Jesper Dangaard Brouer <brouer@...hat.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@...aro.org>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@...el.com>
---
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
Powered by blists - more mailing lists