]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ARM: CPU hotplug: ensure we migrate all IRQs off a downed CPU
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 21 Jul 2011 14:14:21 +0000 (15:14 +0100)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:34:42 +0000 (08:34 +0200)
commit445854a1931fd1a4b628ed1ad1cee10669dac226
treeafa2c2da7086702d6f8575550fb09ad46c7bd70c
parenta520522ec19b6a31350bd4dd5917aea20d7ee5e9
ARM: CPU hotplug: ensure we migrate all IRQs off a downed CPU

Our selection of interrupts to consider for IRQ migration is sub-
standard.  We were potentially including per-CPU interrupts in our
migration strategy, but omitting chained interrupts.  This caused
some interrupts to remain on a downed CPU.

We were also trying to migrate interrupts which were not migratable,
resulting in an OOPS.

Instead, iterate over all interrupts, skipping per-CPU interrupts
or interrupts whose affinity does not include the downed CPU, and
attempt to set the affinity for every one else if their chip
implements irq_set_affinity().

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/irq.c