Re: [PATCH net-next] virtio_net: Fix napi_skb_cache_put warning
From: Breno Leitao <leitao@debian.org>
Date: 2024-07-15 11:25:11
Also in:
lkml, virtualization
From: Breno Leitao <leitao@debian.org>
Date: 2024-07-15 11:25:11
Also in:
lkml, virtualization
Hello Michael, On Sun, Jul 14, 2024 at 03:38:42AM -0400, Michael S. Tsirkin wrote:
On Fri, Jul 12, 2024 at 04:53:25AM -0700, Breno Leitao wrote:quoted
After the commit bdacf3e34945 ("net: Use nested-BH locking for napi_alloc_cache.") was merged, the following warning began to appear: WARNING: CPU: 5 PID: 1 at net/core/skbuff.c:1451 napi_skb_cache_put+0x82/0x4b0 __warn+0x12f/0x340 napi_skb_cache_put+0x82/0x4b0 napi_skb_cache_put+0x82/0x4b0 report_bug+0x165/0x370 handle_bug+0x3d/0x80 exc_invalid_op+0x1a/0x50 asm_exc_invalid_op+0x1a/0x20 __free_old_xmit+0x1c8/0x510 napi_skb_cache_put+0x82/0x4b0 __free_old_xmit+0x1c8/0x510 __free_old_xmit+0x1c8/0x510 __pfx___free_old_xmit+0x10/0x10 The issue arises because virtio is assuming it's running in NAPI context even when it's not, such as in the netpoll case. To resolve this, modify virtnet_poll_tx() to only set NAPI when budget is available. Same for virtnet_poll_cleantx(), which always assumed that it was in a NAPI context. Fixes: df133f3f9625 ("virtio_net: bulk free tx skbs") Suggested-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Breno Leitao <leitao@debian.org>Acked-by: Michael S. Tsirkin <mst@redhat.com> though I'm not sure I understand the connection with bdacf3e34945.
The warning above appeared after bdacf3e34945 landed.