On Wed, May 26, 2021 at 11:15 AM Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote: > > > > On 5/26/21 10:24 AM, Michael S. Tsirkin wrote: > > There are currently two cases where we poll TX vq not in response to a > > callback: start xmit and rx napi. We currently do this with callbacks > > enabled which can cause extra interrupts from the card. Used not to be > > a big issue as we run with interrupts disabled but that is no longer the > > case, and in some cases the rate of spurious interrupts is so high > > linux detects this and actually kills the interrupt. Temporarily disabling interrupts during free_old_xmit_skbs in virtnet_poll_cleantx might reduce the spurious interrupt rate by avoiding an additional Tx interrupt from being scheduled during virtnet_poll_cleantx. It probably does not address all spurious interrupts, as virtnet_poll_cleantx might also run in between the scheduling of the Tx interrupt and the call to virtnet_poll_tx, right? The Tx and Rx interrupts racing. If I can reproduce the report, I can also test how much this helps in practice. > > Fix up by disabling the callbacks before polling the tx vq. > > > It is not clear why we want to poll TX completions from ndo_start_xmit() in napi mode ? Yes, we can simply exclude that. The original napi-tx patch did not make that change, but not for any strong reason. _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization