linux/arch/powerpc/sysdev/xive
Cédric Le Goater cbc06f051c powerpc/xive: Do not skip CPU-less nodes when creating the IPIs
On PowerVM, CPU-less nodes can be populated with hot-plugged CPUs at
runtime. Today, the IPI is not created for such nodes, and hot-plugged
CPUs use a bogus IPI, which leads to soft lockups.

We can not directly allocate and request the IPI on demand because
bringup_up() is called under the IRQ sparse lock. The alternative is
to allocate the IPIs for all possible nodes at startup and to request
the mapping on demand when the first CPU of a node is brought up.

Fixes: 7dcc37b3ef ("powerpc/xive: Map one IPI interrupt per node")
Cc: stable@vger.kernel.org # v5.13
Reported-by: Geetika Moolchandani <Geetika.Moolchandani1@ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Tested-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Tested-by: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210807072057.184698-1-clg@kaod.org
2021-08-12 22:31:41 +10:00
..
common.c powerpc/xive: Do not skip CPU-less nodes when creating the IPIs 2021-08-12 22:31:41 +10:00
Kconfig powerpc: Move the use of irq_domain_add_nomap() behind a config option 2021-06-10 13:09:17 +01:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
native.c powerpc/xive: Use the "ibm, chip-id" property only under PowerNV 2021-04-17 10:40:51 +10:00
spapr.c powerpc/xive: use true and false for bool variable 2021-03-29 13:22:13 +11:00
xive-internal.h powerpc/xive: Use the "ibm, chip-id" property only under PowerNV 2021-04-17 10:40:51 +10:00