mbox series

[0/9] hw/e1000e|igb: interrupts and qtests fixes

Message ID 20250117170306.403075-1-npiggin@gmail.com (mailing list archive)
Headers show
Series hw/e1000e|igb: interrupts and qtests fixes | expand

Message

Nicholas Piggin Jan. 17, 2025, 5:02 p.m. UTC
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(-)