This is a re-work of the patch series here
https://lore.kernel.org/qemu-devel/20250115150112.346497-1-npiggin@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