From 1643b81c38c92674ebceb66dd61211e4ef86b8fe Mon Sep 17 00:00:00 2001 From: Lorenzo Bianconi Date: Thu, 17 Sep 2026 15:22:29 +0200 Subject: [PATCH] net: mvneta: rely on napi_build_skb() in mvneta_swbm_build_skb() mvneta_swbm_build_skb() is only invoked from mvneta_poll(), the NAPI poll routine, so it always runs in NAPI context. Use napi_build_skb() instead of build_skb() to source the skb head from the per-CPU NAPI cache, avoiding a per-packet kmem_cache_alloc() of the skb head. Signed-off-by: Lorenzo Bianconi Reviewed-by: Simon Horman Link: https://patch.msgid.link/20260917-mvneta-napi-poll-v1-1-fb57604932d3@oss.qualcomm.com Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/marvell/mvneta.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c index 543e566425c1..c2b1098d8d1d 100644 --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c @@ -2403,7 +2403,7 @@ mvneta_swbm_build_skb(struct mvneta_port *pp, struct page_pool *pool, if (unlikely(xdp_buff_has_frags(xdp))) num_frags = sinfo->nr_frags; - skb = build_skb(xdp->data_hard_start, PAGE_SIZE); + skb = napi_build_skb(xdp->data_hard_start, PAGE_SIZE); if (!skb) return ERR_PTR(-ENOMEM);