genirq: Change force_irqthreads to a static key
authorTanner Love <tannerlove@google.com>
Wed, 2 Jun 2021 18:03:38 +0000 (14:03 -0400)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 10 Aug 2021 20:50:07 +0000 (22:50 +0200)
commit91cc470e797828d779cd4c1efbe8519bcb358bae
tree9f36cb2595cd78a8d9938d002800fb0bf7e9d8a6
parent5a6c76b5de59ed508d7cb133327a7c54e77fed97
genirq: Change force_irqthreads to a static key

With CONFIG_IRQ_FORCED_THREADING=y, testing the boolean force_irqthreads
could incur a cache line miss in invoke_softirq() and other places.

Replace the test with a static key to avoid the potential cache miss.

[ tglx: Dropped the IDE part, removed the export and updated blk-mq ]

Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Tanner Love <tannerlove@google.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20210602180338.3324213-1-tannerlove.kernel@gmail.com
block/blk-mq.c
include/linux/interrupt.h
kernel/irq/manage.c
kernel/softirq.c