diff options
author | Jakub Kicinski <kuba@kernel.org> | 2023-07-19 18:04:06 -0700 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-07-21 18:50:18 -0700 |
commit | b03f68ba26c85671c6734b14ea37a5955b0fb8d3 (patch) | |
tree | d548e8b73f85b72f83516caf3f86eae2c778c595 /drivers | |
parent | 5766946ea5117e4edeb78c80cac367fb06854cc1 (diff) | |
download | lwn-b03f68ba26c85671c6734b14ea37a5955b0fb8d3.tar.gz lwn-b03f68ba26c85671c6734b14ea37a5955b0fb8d3.zip |
eth: tsnep: let page recycling happen with skbs
tsnep builds an skb with napi_build_skb() and then calls
page_pool_release_page() for the page in which that skb's
head sits. Use recycling instead, recycling of heads works
just fine.
Reviewed-by: Yunsheng Lin <linyunsheng@huawei.com>
Link: https://lore.kernel.org/r/20230720010409.1967072-2-kuba@kernel.org
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/engleder/tsnep_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/engleder/tsnep_main.c b/drivers/net/ethernet/engleder/tsnep_main.c index 84751bb303a6..079f9f6ae21a 100644 --- a/drivers/net/ethernet/engleder/tsnep_main.c +++ b/drivers/net/ethernet/engleder/tsnep_main.c @@ -1333,7 +1333,7 @@ static void tsnep_rx_page(struct tsnep_rx *rx, struct napi_struct *napi, skb = tsnep_build_skb(rx, page, length); if (skb) { - page_pool_release_page(rx->page_pool, page); + skb_mark_for_recycle(skb); rx->packets++; rx->bytes += length; |