eth: stmmac: let page recycling happen with skbs
authorJakub Kicinski <kuba@kernel.org>
Thu, 20 Jul 2023 01:04:07 +0000 (18:04 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 22 Jul 2023 01:50:18 +0000 (18:50 -0700)
stmmac removes pages from the page pool after attaching them
to skbs. Use page recycling instead.

skb heads are always copied, and pages are always from page
pool in this driver. We could as well mark all allocated skbs
for recycling.

Reviewed-by: Yunsheng Lin <linyunsheng@huawei.com>
Link: https://lore.kernel.org/r/20230720010409.1967072-3-kuba@kernel.org
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

index e7ca52f0d2f2df1239964df1035cb7fb48e9e414..e1f1c034d325977345d97c2ec952b0f6933282df 100644 (file)
@@ -5441,7 +5441,7 @@ read_again:
                                        priv->dma_conf.dma_buf_sz);
 
                        /* Data payload appended into SKB */
-                       page_pool_release_page(rx_q->page_pool, buf->page);
+                       skb_mark_for_recycle(skb);
                        buf->page = NULL;
                }
 
@@ -5453,7 +5453,7 @@ read_again:
                                        priv->dma_conf.dma_buf_sz);
 
                        /* Data payload appended into SKB */
-                       page_pool_release_page(rx_q->page_pool, buf->sec_page);
+                       skb_mark_for_recycle(skb);
                        buf->sec_page = NULL;
                }