Subject: Re: [PATCH iwl-next] igc: Get rid of spurious interrupts

From: Kurt Kanzenbach <[email-masked]>
Date: Thu, 20 Jun 2024 16:34:23 +0200

Hi Tony,

On Wed Jun 12 2024, Kurt Kanzenbach wrote:
> 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 igc 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.
>
> [1] - https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/commit/?id=3be507547e6177e5c808544bd6a2efa2c7f1d436
>
> Signed-off-by: Kurt Kanzenbach <[email-masked]>

Can you drop this patch from your queue, please? I've found one issue
with this if the number of queues is reconfigured e.g., with 'ethtool -L
combined 1'. The number of vectors is not necessarily the number of rx
rings. I'll update this patch and sent v2.

Thanks,
Kurt