RE: [Intel-wired-lan] [PATCH iwl-next v2 4/4] igb: Get rid of spurious interrupts

Kumari, Sweta
2025-03-07T10:26:51Z

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of
> Kurt Kanzenbach
> Sent: Monday, February 17, 2025 5:01 PM
> To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@intel.com>
> Cc: Andrew Lunn <andrew+netdev@lunn.ch>; David S. Miller
> <davem@davemloft.net>; Eric Dumazet <edumazet@google.com>; Jakub
> Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; Sebastian
> Andrzej Siewior <bigeasy@linutronix.de>; Damato, Joe
> <jdamato@fastly.com>; Gerhard Engleder <gerhard@engleder-
> embedded.com>; intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org;
> Kurt Kanzenbach <kurt@linutronix.de>
> Subject: [Intel-wired-lan] [PATCH iwl-next v2 4/4] igb: Get rid of spurious
> interrupts
>
> When running the igc with XDP/ZC in busy polling mode with deferral of hard
> interrupts, interrupts still happen from time to time. That is caused by the igb
> task watchdog which triggers Rx interrupts periodically.
>
> That mechanism has been introduced to overcome skb/memory allocation
> failures [1]. So the Rx clean functions stop processing the Rx ring in case of
> such failure. The task watchdog triggers Rx interrupts periodically in the hope
> that memory became available in the mean time.
>
> The current behavior is undesirable for real time applications, because the
> driver induced Rx interrupts trigger also the softirq processing. However, all
> real time packets should be processed by the application which uses the busy
> polling method.
>
> Therefore, only trigger the Rx interrupts in case of real allocation failures.
> Introduce a new flag for signaling that condition.
>
> Follow the same logic as in commit 8dcf2c212078 ("igc: Get rid of spurious
> interrupts").
>
> [1] -
> https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/commit/?id=3b
> e507547e6177e5c808544bd6a2efa2c7f1d436
>
> Reviewed-by: Joe Damato <jdamato@fastly.com>
> Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
> ---
> drivers/net/ethernet/intel/igb/igb.h | 3 ++-
> drivers/net/ethernet/intel/igb/igb_main.c | 29
> +++++++++++++++++++++++++---- drivers/net/ethernet/intel/igb/igb_xsk.c |
> 1 +
> 3 files changed, 28 insertions(+), 5 deletions(-)
>
Tested-by: Sweta Kumari <sweta.kumari@intel.com>