733-01-net-ethernet-mtk_eth_soc-use-napi_build_skb.patch 1.0 KB

123456789101112131415161718192021222324252627282930
  1. From: Felix Fietkau <[email protected]>
  2. Date: Mon, 20 May 2024 14:29:58 +0200
  3. Subject: [PATCH] net: ethernet: mtk_eth_soc: use napi_build_skb()
  4. The napi_build_skb() can reuse the skb in skb cache per CPU or
  5. can allocate skbs in bulk, which helps improve the performance.
  6. Signed-off-by: Felix Fietkau <[email protected]>
  7. ---
  8. --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
  9. +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
  10. @@ -2120,7 +2120,7 @@ static int mtk_poll_rx(struct napi_struc
  11. if (ret != XDP_PASS)
  12. goto skip_rx;
  13. - skb = build_skb(data, PAGE_SIZE);
  14. + skb = napi_build_skb(data, PAGE_SIZE);
  15. if (unlikely(!skb)) {
  16. page_pool_put_full_page(ring->page_pool,
  17. page, true);
  18. @@ -2158,7 +2158,7 @@ static int mtk_poll_rx(struct napi_struc
  19. dma_unmap_single(eth->dma_dev, ((u64)trxd.rxd1 | addr64),
  20. ring->buf_size, DMA_FROM_DEVICE);
  21. - skb = build_skb(data, ring->frag_size);
  22. + skb = napi_build_skb(data, ring->frag_size);
  23. if (unlikely(!skb)) {
  24. netdev->stats.rx_dropped++;
  25. skb_free_frag(data);