]> 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)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:11:57 +0000 (14:11 +0200)
commitdedde4744f76e37bdadd1fecc50c47892ae3a3f8
treeafa2c2da7086702d6f8575550fb09ad46c7bd70c
parent50df9bbb8952c012040628c68b279225c08a3b13
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