]> git.baikalelectronics.ru Git - kernel.git/commit
genirq/msi: Shutdown managed interrupts with unsatifiable affinities
authorMarc Zyngier <maz@kernel.org>
Tue, 5 Apr 2022 18:50:38 +0000 (19:50 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 10 Apr 2022 19:06:30 +0000 (21:06 +0200)
commitdd66e34cba00836f0ee6c782a407713f8067680c
treeee982e60c08510f4283b870fa7f4c6b24e4d71fb
parentdbb008736a8c113ef1e12b4e4b4351fac2a15ede
genirq/msi: Shutdown managed interrupts with unsatifiable affinities

When booting with maxcpus=<small number>, interrupt controllers
such as the GICv3 ITS may not be able to satisfy the affinity of
some managed interrupts, as some of the HW resources are simply
not available.

The same thing happens when loading a driver using managed interrupts
while CPUs are offline.

In order to deal with this, do not try to activate such interrupt
if there is no online CPU capable of handling it. Instead, place
it in shutdown state. Once a capable CPU shows up, it will be
activated.

Reported-by: John Garry <john.garry@huawei.com>
Reported-by: David Decotigny <ddecotig@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: John Garry <john.garry@huawei.com>
Link: https://lore.kernel.org/r/20220405185040.206297-2-maz@kernel.org
kernel/irq/msi.c