irqchip/gic-v3-its: Move pending table allocation to init time
authorMarc Zyngier <marc.zyngier@arm.com>
Fri, 27 Jul 2018 12:38:54 +0000 (13:38 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Tue, 2 Oct 2018 09:37:30 +0000 (10:37 +0100)
commit11e37d357f6ba7a9af850a872396082cc0a0001f
treea1c0f60e9eaf515e09cd0365c922d5f5a9b86b2a
parent053be4854f9bcceba99cdfa0c89acc4696852c3f
irqchip/gic-v3-its: Move pending table allocation to init time

Pending tables for the redistributors are currently allocated
one at a time as each CPU boots. This is causing some grief
for Linux/RT (allocation from within a CPU hotplug notifier is
frown upon).

Let's move this allocation to take place at init time, when we
only have a single CPU. It means we're allocating memory for CPUs
that are not online yet, but most system will boot all of their
CPUs anyway, so that's not completely wasted.

Tested-by: Jeremy Linton <jeremy.linton@arm.com>
Tested-by: Bhupesh Sharma <bhsharma@redhat.com>
Tested-by: Lei Zhang <zhang.lei@jp.fujitsu.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/irqchip/irq-gic-v3-its.c
include/linux/irqchip/arm-gic-v3.h