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 e7ca52f..e1f1c03 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;
                }