diff options
| author | Lorenzo Pieralisi <lpieralisi@kernel.org> | 2026-08-12 11:10:35 +0200 |
|---|---|---|
| committer | Thomas Gleixner <tglx@kernel.org> | 2026-08-20 10:23:54 +0200 |
| commit | a1ee1a1ca75b674f503c74eb8b3ca77612ba3c0c (patch) | |
| tree | c7457bf25d039d761899c6e6add5a64fccbc2034 /scripts/stackusage | |
| parent | 9dfcc2187282816d42b9f8aa2b689c732ebbcc01 (diff) | |
| download | linux-a1ee1a1ca75b674f503c74eb8b3ca77612ba3c0c.tar.gz linux-a1ee1a1ca75b674f503c74eb8b3ca77612ba3c0c.zip | |
irqchip/gic-v5: Defer default SPI and LPI IAFFID programming
SPI and LPI interrupts do not have an architected default value for their
IAFFID (interrupt affinity ID) - the property that determines an IRQ
affinity.
Current code awkwardly tries to set a default IAFFID value corresponding
to the logical cpu executing the gicv5_hwirq_init() function at SPI/LPI
allocation time.
There are two issues with this approach:
- gicv5_hwirq_init() is called in preemptible context and current code
uses smp_processor_id() to check the logical cpu executing the function.
Whilst that's harmless, it can spit a splat on DEBUG_PREEMPT kernels
- Setting the default SPI/LPI IAFFID to the one belonging to the cpu
executing the IRQ allocation is a completely arbitrary choice
It is saner to remove the SPI/LPI IAFFID set-up in the SPI/LPI domain IRQ
allocation code and flag SPI/LPI irqchips as IRQCHIP_AFFINITY_PRE_STARTUP
so that the SPI/LPI affinity is initialized by IRQ core to a sane value
before an IRQ is started up using the respective irq_chip
irq_set_affinity() callback.
Fixes: 5cb1b6dab2de ("irqchip/gic-v5: Add GICv5 IRS/SPI support")
Fixes: 0f0101325876 ("irqchip/gic-v5: Add GICv5 LPI/IPI support")
Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260812-gicv5-7-2-fixes-v1-7-3743e82c69a4@kernel.org
Diffstat (limited to 'scripts/stackusage')
0 files changed, 0 insertions, 0 deletions
