Comment 1 for bug 1797990

Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

During the investigation, we've noticed that PCI specification mentions the need of MSI/MSI-X capability to be disabled during a system boot/reset; from PCI Local Bus specification 3.0, sections 6.8.1.3 and 6.8.2.3: "[...] MSI Enable: This bit’s state after reset is 0 (MSI is disabled)."

PCI layer in the Linux kernel ensures this bit is 0 during its initialization [0], but for our case it is too late, give we had an IRQ storm during early stages in the kdump kernel boot process.

The idea to resolve the issue was then to disable MSI/MSI-X early in boot, using the early-quirks infrastructure in arch/x86, which proved to be a successful approach.
Patches will be attached here soon.

[0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pci/probe.c?h=v4.18#n1511