aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/thermal
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2012-11-03 11:52:09 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-11 09:03:38 -0800
commitd0389110863a993f19ba11bdf9ac639df713a1f2 (patch)
tree173976bf70a75862b958e3df465deeb8cd4c2ec0 /drivers/thermal
parentada84ad6dd091c7ee6ce70a01fd5dc214eb1d96d (diff)
downloadkernel_samsung_aries-d0389110863a993f19ba11bdf9ac639df713a1f2.zip
kernel_samsung_aries-d0389110863a993f19ba11bdf9ac639df713a1f2.tar.gz
kernel_samsung_aries-d0389110863a993f19ba11bdf9ac639df713a1f2.tar.bz2
genirq: Always force thread affinity
commit 04aa530ec04f61875b99c12721162e2964e3318c upstream. 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> Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1209041738200.2754@ionos Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/thermal')
0 files changed, 0 insertions, 0 deletions