diff options
| author | Thomas Gleixner <tglx@kernel.org> | 2026-05-17 23:02:19 +0300 |
|---|---|---|
| committer | Thomas Gleixner <tglx@kernel.org> | 2026-05-26 17:21:13 +0300 |
| commit | 4892e5e71ec9c942293cea7fd26e0c76179211ed (patch) | |
| tree | 03ba5304d247e4953f2b41c588e5157b56c935f8 /include/linux | |
| parent | 3ba92f6a28203e30d0b2c7d75b59f48d5ff9fbcc (diff) | |
| download | linux-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.h | 1 |
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 \ |
