> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of
> Kurt Kanzenbach
> Sent: Monday, February 17, 2025 5:01 PM
> To: Nguyen, Anthony L <[email protected]>; Kitszel, Przemyslaw
> <[email protected]>
> Cc: Andrew Lunn <[email protected]>; David S. Miller
> <[email protected]>; Eric Dumazet <[email protected]>; Jakub
> Kicinski <[email protected]>; Paolo Abeni <[email protected]>; Sebastian
> Andrzej Siewior <[email protected]>; Damato, Joe
> <[email protected]>; Gerhard Engleder <gerhard@engleder-
> embedded.com>; [email protected]; [email protected];
> Kurt Kanzenbach <[email protected]>
> 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 <[email protected]>
> Signed-off-by: Kurt Kanzenbach <[email protected]>
> ---
>  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 <[email protected]>

Reply via email to