summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@kernel.org>2026-05-17 23:02:19 +0300
committerThomas Gleixner <tglx@kernel.org>2026-05-26 17:21:13 +0300
commit4892e5e71ec9c942293cea7fd26e0c76179211ed (patch)
tree03ba5304d247e4953f2b41c588e5157b56c935f8 /include/linux
parent3ba92f6a28203e30d0b2c7d75b59f48d5ff9fbcc (diff)
downloadlinux-4892e5e71ec9c942293cea7fd26e0c76179211ed.tar.xz
genirq: Cache the condition for /proc/interrupts exposure
show_interrupts() evaluates a boatload of conditions to establish whether it should expose an interrupt in /proc/interrupts or not. That can be simplified by caching the condition in an internal status flag, which is updated when one of the relevant inputs changes. The irq_desc::kstat_irq check is dropped because visible interrupt descriptors always have a valid pointer. As a result the number of instructions and branches for reading /proc/interrupts is reduced significantly. Signed-off-by: Thomas Gleixner <tglx@kernel.org> Tested-by: Michael Kelley <mhklinux@outlook.com> Reviewed-by: Dmitry Ilvokhin <d@ilvokhin.com> Reviewed-by: Radu Rendec <radu@rendec.net> Link: https://patch.msgid.link/20260517194931.680943749@kernel.org
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/irq.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h
index efa514ee562f..f485369b1b4f 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -103,6 +103,7 @@ enum {
IRQ_DISABLE_UNLAZY = (1 << 19),
IRQ_HIDDEN = (1 << 20),
IRQ_NO_DEBUG = (1 << 21),
+ IRQ_RESERVED = (1 << 22),
};
#define IRQF_MODIFY_MASK \