[BUG] Continuously increasing spurious interrupts inside pSeries guest on PowerNV host

5 messages, 3 authors, 8d ago · open the first message on its own page

[BUG] Continuously increasing spurious interrupts inside pSeries guest on PowerNV host

From: Timothy Pearson <tpearson@raptorengineering.com>
Date: 2026-08-14 14:56:48

With kernel 6.12 (Debian stable) we see a continuously increasing spurious interrupt count inside a pSeries guest running on a PowerNV host:

cat /proc/interrupts
           CPU0
 16:          0  XIVE-IPI   0 Edge      IPI-0
 17:          0  XIVE-IRQ 4096 Edge      RAS_EPOW
 21:          2  XIVE-IRQ 4353 Edge      hvc_console
 23:          0  XIVE-IRQ 4097 Edge      RAS_HOTPLUG
 24:          0  pSeries-PCI-MSI   0 Edge      virtio0-config
 25:      50995  pSeries-PCI-MSI   1 Edge      virtio0-input.0
 26:      45569  pSeries-PCI-MSI   2 Edge      virtio0-output.0
 27:          0  pSeries-PCI-MSI 16384 Edge      virtio1-config
 28:          6  pSeries-PCI-MSI 16385 Edge      virtio1-input
LOC:       5781   Local timer interrupts for timer event device
BCT:          0   Broadcast timer interrupts for timer event device
LOC:          2   Local timer interrupts for others
SPU:     449927   Spurious interrupts
PMI:          0   Performance monitoring interrupts
MCE:          0   Machine check exceptions
NMI:          0   System Reset interrupts
WDG:          0   Watchdog soft-NMI interrupts
DBL:          0   Doorbell interrupts

The spurious interrupts are apparently from the virtio0-[input|output] devices.

Re: [BUG] Continuously increasing spurious interrupts inside pSeries guest on PowerNV host

From: Timothy Pearson <tpearson@raptorengineering.com>
Date: 2026-08-14 15:14:46


----- Original Message -----
From: "Timothy Pearson" <redacted>
To: "linuxppc-dev" <redacted>
Cc: "Ritesh Harjani" <ritesh.list@gmail.com>
Sent: Friday, August 14, 2026 9:56:30 AM
Subject: [BUG] Continuously increasing spurious interrupts inside pSeries guest on PowerNV host
With kernel 6.12 (Debian stable) we see a continuously increasing spurious
interrupt count inside a pSeries guest running on a PowerNV host:

cat /proc/interrupts
          CPU0
16:          0  XIVE-IPI   0 Edge      IPI-0
17:          0  XIVE-IRQ 4096 Edge      RAS_EPOW
21:          2  XIVE-IRQ 4353 Edge      hvc_console
23:          0  XIVE-IRQ 4097 Edge      RAS_HOTPLUG
24:          0  pSeries-PCI-MSI   0 Edge      virtio0-config
25:      50995  pSeries-PCI-MSI   1 Edge      virtio0-input.0
26:      45569  pSeries-PCI-MSI   2 Edge      virtio0-output.0
27:          0  pSeries-PCI-MSI 16384 Edge      virtio1-config
28:          6  pSeries-PCI-MSI 16385 Edge      virtio1-input
LOC:       5781   Local timer interrupts for timer event device
BCT:          0   Broadcast timer interrupts for timer event device
LOC:          2   Local timer interrupts for others
SPU:     449927   Spurious interrupts
PMI:          0   Performance monitoring interrupts
MCE:          0   Machine check exceptions
NMI:          0   System Reset interrupts
WDG:          0   Watchdog soft-NMI interrupts
DBL:          0   Doorbell interrupts

The spurious interrupts are apparently from the virtio0-[input|output] devices.
Actually, I don't know where the spurious interrupts are coming from.  This is in XIVE mode.  Switching to XICS mode via -M pseries,ic-mode=xics greatly reduces the rate of spurious interrupts, but does not eliminate them.

I don't recall this being an issue on the 5.x series kernels, but do not have the ability to test either those or the 7.x series at the moment.

Re: [BUG] Continuously increasing spurious interrupts inside pSeries guest on PowerNV host

From: Madhavan Srinivasan <maddy@linux.ibm.com>
Date: 2026-08-17 04:03:01

On 8/14/26 8:26 PM, Timothy Pearson wrote:
With kernel 6.12 (Debian stable) we see a continuously increasing spurious interrupt count inside a pSeries guest running on a PowerNV host:

cat /proc/interrupts
            CPU0
  16:          0  XIVE-IPI   0 Edge      IPI-0
  17:          0  XIVE-IRQ 4096 Edge      RAS_EPOW
  21:          2  XIVE-IRQ 4353 Edge      hvc_console
  23:          0  XIVE-IRQ 4097 Edge      RAS_HOTPLUG
  24:          0  pSeries-PCI-MSI   0 Edge      virtio0-config
  25:      50995  pSeries-PCI-MSI   1 Edge      virtio0-input.0
  26:      45569  pSeries-PCI-MSI   2 Edge      virtio0-output.0
  27:          0  pSeries-PCI-MSI 16384 Edge      virtio1-config
  28:          6  pSeries-PCI-MSI 16385 Edge      virtio1-input
LOC:       5781   Local timer interrupts for timer event device
BCT:          0   Broadcast timer interrupts for timer event device
LOC:          2   Local timer interrupts for others
SPU:     449927   Spurious interrupts
PMI:          0   Performance monitoring interrupts
MCE:          0   Machine check exceptions
NMI:          0   System Reset interrupts
WDG:          0   Watchdog soft-NMI interrupts
DBL:          0   Doorbell interrupts

The spurious interrupts are apparently from the virtio0-[input|output] devices.
Thanks for the report Timothy, we will have a look at it.

Maddy

Re: [BUG] Continuously increasing spurious interrupts inside pSeries guest on PowerNV host

From: Gautam Menghani <hidden>
Date: 2026-08-19 07:54:56

On Fri, Aug 14, 2026 at 09:56:30AM -0500, Timothy Pearson wrote:
With kernel 6.12 (Debian stable) we see a continuously increasing spurious interrupt count inside a pSeries guest running on a PowerNV host:

cat /proc/interrupts
           CPU0
 16:          0  XIVE-IPI   0 Edge      IPI-0
 17:          0  XIVE-IRQ 4096 Edge      RAS_EPOW
 21:          2  XIVE-IRQ 4353 Edge      hvc_console
 23:          0  XIVE-IRQ 4097 Edge      RAS_HOTPLUG
 24:          0  pSeries-PCI-MSI   0 Edge      virtio0-config
 25:      50995  pSeries-PCI-MSI   1 Edge      virtio0-input.0
 26:      45569  pSeries-PCI-MSI   2 Edge      virtio0-output.0
 27:          0  pSeries-PCI-MSI 16384 Edge      virtio1-config
 28:          6  pSeries-PCI-MSI 16385 Edge      virtio1-input
LOC:       5781   Local timer interrupts for timer event device
BCT:          0   Broadcast timer interrupts for timer event device
LOC:          2   Local timer interrupts for others
SPU:     449927   Spurious interrupts
PMI:          0   Performance monitoring interrupts
MCE:          0   Machine check exceptions
NMI:          0   System Reset interrupts
WDG:          0   Watchdog soft-NMI interrupts
DBL:          0   Doorbell interrupts

The spurious interrupts are apparently from the virtio0-[input|output] devices.
I am able to replicate this observation with KVM on PowerNV (XIVE):

1. Host and guest with kernel 6.19 (stock fedora kernels): Huge number of spurious interrupts

2. Host and guest with upstream kernel 5.19: A very small number of spurious
interrupts observed.

We'll look into this and post a fix.

Thanks,
Gautam

Re: [BUG] Continuously increasing spurious interrupts inside pSeries guest on PowerNV host

From: Gautam Menghani <hidden>
Date: 2026-09-01 06:15:33

On Fri, Aug 14, 2026 at 09:56:30AM -0500, Timothy Pearson wrote:
With kernel 6.12 (Debian stable) we see a continuously increasing spurious interrupt count inside a pSeries guest running on a PowerNV host:

cat /proc/interrupts
           CPU0
 16:          0  XIVE-IPI   0 Edge      IPI-0
 17:          0  XIVE-IRQ 4096 Edge      RAS_EPOW
 21:          2  XIVE-IRQ 4353 Edge      hvc_console
 23:          0  XIVE-IRQ 4097 Edge      RAS_HOTPLUG
 24:          0  pSeries-PCI-MSI   0 Edge      virtio0-config
 25:      50995  pSeries-PCI-MSI   1 Edge      virtio0-input.0
 26:      45569  pSeries-PCI-MSI   2 Edge      virtio0-output.0
 27:          0  pSeries-PCI-MSI 16384 Edge      virtio1-config
 28:          6  pSeries-PCI-MSI 16385 Edge      virtio1-input
LOC:       5781   Local timer interrupts for timer event device
BCT:          0   Broadcast timer interrupts for timer event device
LOC:          2   Local timer interrupts for others
SPU:     449927   Spurious interrupts
PMI:          0   Performance monitoring interrupts
MCE:          0   Machine check exceptions
NMI:          0   System Reset interrupts
WDG:          0   Watchdog soft-NMI interrupts
DBL:          0   Doorbell interrupts

The spurious interrupts are apparently from the virtio0-[input|output] devices.
I was able to narrow it down to commit ecd10702baae5 ('KVM: PPC: Book3S HV: Handle pending exceptions on guest entry with MSR_EE')

Reverting the changes in this commit reduces the spurious interrupts
observed considerably. I'll try to root cause the issue and send a fix.

Thanks,
Gautam
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help