This is a re-work of the patch series here https://lore.kernel.org/qemu-devel/20250115150112.346497-1-npig...@gmail.com/
Patch 1 is taken from patch 4 there, and adjusted with Odaki san's suggestion to clear the msix pending bit with the PBACLR register. That makes all the other patches unnecessary, which is great. This patch should be good by itself. However after doing more testing, I found interrupt throttling in the devices was raising supurious interrupts and went too far down that rabbit hole. Consider patches 2-9 to be RFC to address some of these issues and not required for patch 1. Thanks, Nick Nicholas Piggin (9): qtest/e1000e|igb: Clear interrupt-cause and msix pending bits after irq net/e1000e: Permit disabling interrupt throttling qtest/e1000e|igb: assert irqs are clear before triggering an irq net/igb: Fix interrupt throttling interval calculation net/igb: Fix EITR LLI and counter fields net/e1000e|igb: Fix interrupt throttling logic qtest/e1000e|igb: Test interrupt throttling in multiple_transfers test net/e1000e: Fix xITR minimum value hw/net/e1000e|igb: Remove xitr_guest_value logic hw/net/igb_core.h | 2 - hw/net/igb_regs.h | 11 +++- tests/qtest/libqos/e1000e.h | 1 + hw/net/e1000e_core.c | 107 ++++++++++++++++++++++++++---------- hw/net/igb.c | 2 +- hw/net/igb_core.c | 81 +++++++++++++++++++++------ tests/qtest/e1000e-test.c | 19 ++++++- tests/qtest/igb-test.c | 18 ++++++ tests/qtest/libqos/e1000e.c | 9 ++- 9 files changed, 197 insertions(+), 53 deletions(-) -- 2.45.2