Skip to content

genirq: Wake interrupt threads immediately when changing affinity

Crystal Wood requested to merge crystalwood/centos-stream-9:rhel9148 into main

genirq: Wake interrupt threads immediately when changing affinity

JIRA: https://issues.redhat.com/browse/RHEL-9148

Upstream Status: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git

commit c99303a2d2a25ba467ebf75d3e446b58c7e7df3a Author: Crystal Wood crwood@redhat.com Date: Mon Jan 22 17:53:53 2024 -0600

genirq: Wake interrupt threads immediately when changing affinity

The affinity setting of interrupt threads happens in the context of the
thread when the thread is woken up by an hard interrupt. As this can be an
arbitrary after changing the affinity, the thread can become runnable on an
isolated CPU and cause isolation disruption.

Avoid this by checking the set affinity request in wait_for_interrupt() and
waking the threads immediately when the affinity is modified.

Note that this is of the most benefit on systems where the interrupt
affinity itself does not need to be deferred to the interrupt handler, but
even where that's not the case, the total dirsuption will be less.

Signed-off-by: Crystal Wood <crwood@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240122235353.15235-1-crwood@redhat.com

Conflicts: kernel/irq/manage.c - no action->secondary in RHEL9

Signed-off-by: Crystal Wood crwood@redhat.com

Merge request reports