This is a follow up for the igb XDP/ZC implementation. The first three patches link the IRQs and queues to NAPI instances. This is required to bring back the XDP/ZC busy polling support. The last patch removes undesired IRQs (injected via igb watchdog) while busy polling with napi_defer_hard_irqs and gro_flush_timeout set.
I've dropped the tags for patch #2. Please, review and test again. Test output: |apl1:~/linux# uname -a |Linux apl1 6.14.0-rc6+ #1 SMP PREEMPT_RT Wed Mar 19 08:31:00 CET 2025 x86_64 GNU/Linux |apl1:~/linux# NETIF=enp2s0 ./tools/testing/selftests/drivers/net/queues.py |TAP version 13 |1..4 |ok 1 queues.get_queues |ok 2 queues.addremove_queues |ok 3 queues.check_down |ok 4 queues.check_xsk |# Totals: pass:4 fail:0 xfail:0 xpass:0 skip:0 error:0 Signed-off-by: Kurt Kanzenbach <k...@linutronix.de> --- Changes in v3: - Drop igb_set_queue_napi() in xsk code (Joe & Tony) - Add tags - Rebase to net-next - Link to v2: https://lore.kernel.org/r/20250217-igb_irq-v2-0-4cb502049...@linutronix.de Changes in v2: - Take RTNL lock in PCI error handlers (Joe) - Fix typo in commit message (Gerhard) - Use netif_napi_add_config() (Joe) - Link to v1: https://lore.kernel.org/r/20250210-igb_irq-v1-0-bde078cdb...@linutronix.de --- Kurt Kanzenbach (4): igb: Link IRQs to NAPI instances igb: Link queues to NAPI instances igb: Add support for persistent NAPI config igb: Get rid of spurious interrupts drivers/net/ethernet/intel/igb/igb.h | 5 +- drivers/net/ethernet/intel/igb/igb_main.c | 78 +++++++++++++++++++++++++++---- drivers/net/ethernet/intel/igb/igb_xsk.c | 1 + 3 files changed, 73 insertions(+), 11 deletions(-) --- base-commit: 23c9ff659140f97d44bf6fb59f89526a168f2b86 change-id: 20250206-igb_irq-f5a4d4deb207 Best regards, -- Kurt Kanzenbach <k...@linutronix.de>