OSDN Git Service

genirq: Let irq thread follow the effective hard irq affinity
authorThomas Gleixner <tglx@linutronix.de>
Fri, 16 Feb 2018 14:21:20 +0000 (15:21 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 16 Feb 2018 14:28:50 +0000 (15:28 +0100)
commitcbf8699996a6e7f2f674b3a2a4cef9f666ff613e
treebd662d2061f90832d1bc26e47033f00d13585901
parent7928b2cbe55b2a410a0f5c1f154610059c57b1b2
genirq: Let irq thread follow the effective hard irq affinity

In case of threaded interrupts the thread follows the affinity setting of
the hard interrupt. The related function uses the affinity mask which was
set by either from user space or via one of the kernel mechanisms. This
mask can be wider than the resulting effective affinity of the hard
interrupt. As a consequence the thread might become affine to a completely
different CPU.

Use the effective interrupt affinity if the architecture supports it, so
the hard interrupt and the thread stay on the same CPU.

Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
kernel/irq/manage.c