Searched hist:"04 aa530ec04f61875b99c12721162e2964e3318c" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/kernel/irq/ |
H A D | manage.c | diff 04aa530ec04f61875b99c12721162e2964e3318c Sat Nov 03 05:52:09 CDT 2012 Thomas Gleixner <tglx@linutronix.de> genirq: Always force thread affinity
Sankara reported that the genirq core code fails to adjust the affinity of an interrupt thread in several cases:
1) On request/setup_irq() the call to setup_affinity() happens before the new action is registered, so the new thread is not notified.
2) For secondary shared interrupts nothing notifies the new thread to change its affinity.
3) Interrupts which have the IRQ_NO_BALANCE flag set are not moving the thread either.
Fix this by setting the thread affinity flag right on thread creation time. This ensures that under all circumstances the thread moves to the right place. Requires a check in irq_thread_check_affinity for an existing affinity mask (CONFIG_CPU_MASK_OFFSTACK=y)
Reported-and-tested-by: Sankara Muthukrishnan <sankara.m@gmail.com> Cc: stable@vger.kernel.org Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1209041738200.2754@ionos Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|