| From: |
| Shrikanth Hegde <sshegde-AT-linux.ibm.com> |
| To: |
| maddy-AT-linux.ibm.com, linuxppc-dev-AT-lists.ozlabs.org, tglx-AT-kernel.org |
| Subject: |
| [PATCH 0/3] powerpc/irq: Use optimizations for /proc/interrupts |
| Date: |
| Sat, 23 May 2026 23:10:13 +0530 |
| Message-ID: |
| <20260523174016.999456-1-sshegde@linux.ibm.com> |
| Cc: |
| sshegde-AT-linux.ibm.com, christophe.leroy-AT-csgroup.eu, linux-kernel-AT-vger.kernel.org |
| Archive-link: |
| Article |
This series is based on work by Thomas Gleixner[1].
There are several optimization which helps to bring the time taken to
read /proc/interrupts. Though it is not in fastpaths, still many tools
read it often and this reduction in time will save meaningful amount of
cycle over the long duration.
[1]: https://lore.kernel.org/all/20260517194421.705253664@kern...
Bulk of the design/code is copied from Thomas's work on x86. powerpc had
exact pattern which made it quite easy to port.
Using micro-loops[2] of reading /proc/interrupts shows real benefit of
the series. Bulk of the gain is already achieved using Thomas's
series[1]. This series on top provide some more benefits. As the system
size goes up, benefits could be more.
[2]: https://lore.kernel.org/all/87jysxw65f.ffs@tglx/
======== Performance Data ==================
Time taken to read /proc/interrupts 1000 times[2]
Base : 103us
v6 : 63us
v6+patch 1+2 : 57us
v6+patch 1+2+3 : 54us
Base: tip/master at c991e3897ead ("Merge branch into tip/master: 'x86/tdx'")
Depends on v6[1] to be applied first.
Shrikanth Hegde (3):
powerpc/irq: Move __softirq_pending out of irq_stat
powerpc/irq: Make irqstats array based
powerpc/irq: Suppress unlikely interrupt stats by default
arch/powerpc/include/asm/hardirq.h | 31 ++++---
arch/powerpc/kernel/dbell.c | 2 +-
arch/powerpc/kernel/irq.c | 131 +++++++++++++++--------------
arch/powerpc/kernel/time.c | 6 +-
arch/powerpc/kernel/traps.c | 11 +--
arch/powerpc/kernel/watchdog.c | 2 +-
6 files changed, 95 insertions(+), 88 deletions(-)
--
2.47.3