Benjamin Herrenschmidt [off-list ref] writes:
migrate_irqs() is used by some platforms to migrate interrupts
away from a CPU about to be offlined.
The current implementation had various issues such as not taking
the descriptor lock before manipulating it.
... and not checking for a NULL chip (but presumably that's never
happened), and always calling irq_set_affinity() even for IRQs not on
the CPU.
But, any reason we can't use irq_migrate_all_off_this_cpu() ?
Which is in generic code.
cheers