diff options
| author | Thomas Gleixner <tglx@kernel.org> | 2026-05-17 22:02:49 +0200 |
|---|---|---|
| committer | Thomas Gleixner <tglx@kernel.org> | 2026-05-26 16:21:15 +0200 |
| commit | 171cc0d9eed1cad5de7ce6a212efbeda390edb0f (patch) | |
| tree | 25f3a0cbb7dfcc4c45468f8f7434ada5933ca20d /fs | |
| parent | 61b51a167c524b65a59b1342e70c2008d514a796 (diff) | |
| download | linux-next-history-171cc0d9eed1cad5de7ce6a212efbeda390edb0f.tar.gz | |
genirq/proc: Speed up /proc/interrupts iteration
Reading /proc/interrupts iterates over the interrupt number space one by
one and looks up the descriptors one by one. That's just a waste of time.
When CONFIG_GENERIC_IRQ_SHOW is enabled this can utilize the maple tree and
cache the descriptor pointer efficiently for the sequence file operations.
Implement a CONFIG_GENERIC_IRQ_SHOW specific version in the core code and
leave the fs/proc/ variant for the legacy architectures which ignore generic
code.
This reduces the time wasted for looking up the next record significantly.
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Tested-by: Michael Kelley <mhklinux@outlook.com>
Reviewed-by: Dmitry Ilvokhin <d@ilvokhin.com>
Link: https://patch.msgid.link/20260517194932.165280601@kernel.org
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/proc/Makefile | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/proc/Makefile b/fs/proc/Makefile index 7b4db9c56e6a7..8bc615ff84e5d 100644 --- a/fs/proc/Makefile +++ b/fs/proc/Makefile @@ -16,7 +16,9 @@ proc-y += cmdline.o proc-y += consoles.o proc-y += cpuinfo.o proc-y += devices.o -proc-y += interrupts.o +ifneq ($(CONFIG_GENERIC_IRQ_SHOW),y) +proc-y += interrupts.o +endif proc-y += loadavg.o proc-y += meminfo.o proc-y += stat.o |
