Messages in this thread |  | | Date | Mon, 1 Sep 2025 13:23:30 -0700 | | From | Jakub Kicinski <> | | Subject | Re: [PATCH] net: remove local_bh_enable during busy poll |
| |
On Fri, 29 Aug 2025 11:04:56 +0800 Longjun Tang wrote: > When CONFIG_NET_RX_BUSY_POLL==Y and net.core.busy_read > 0, > the __napi_busy_loop function calls napi_poll to perform busy polling, > such as in the case of virtio_net's virnet_poll. If interrupts are enabled > during the busy polling process, it is possible that data has already been > received and that last_used_idx is updated before the interrupt is handled. > This can lead to the vring_interrupt returning IRQ_NONE in response to the > interrupt because used_idx == last_used_idx, which is considered a spurious > interrupt.Once certain conditions are met, this interrupt can be disabled.
I'm not sure this patch completely fixes the issue you're describing. It just makes it less likely to happen. Really, it feels like the onus for fixing this is on the driver that can't discern its own IRQ sources. -- pw-bot: cr
|  |