[PATCH v2 0/3] powerpc/irq: Use optimizations for /proc/interrupts

Shrikanth Hegde posted 3 patches 1 week, 2 days ago
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(-)
[PATCH v2 0/3] powerpc/irq: Use optimizations for /proc/interrupts
Posted by Shrikanth Hegde 1 week, 2 days ago
v1-> v2:
- Collected the tags (Thanks to Christophe Leroy)
- Rename skip to optional and check optional while printing
  (Christophe Leroy)
- Decided not to add cpu_has_feature(CPU_FTR_DBELL) while printing.
  This feature is mostly true for majority of platforms and adding check
  means more ifdefs in that path. Prinitng "Doorbell interrupts" shouldn't
  cause any issue when feature if off since all entries would be zero.
  (sashiko)

This series is based on work by Thomas Gleixner[1].
Further details can be found in cover-letter of v1.

======== Performance Data ==================
Time taken to read /proc/interrupts 1000 times[2]
Base		:  103us 
v6[1]		:   63us
v6+patch 1+2	:   57us
v6+patch 1+2+3	:   54us

Base: tip/master at 'ddfd3966d0d4 ("Merge branch into tip/master: 'x86/tdx'")'

[1]: https://lore.kernel.org/all/20260517194421.705253664@kernel.org/
[2]: https://lore.kernel.org/all/87jysxw65f.ffs@tglx/
v1: https://lore.kernel.org/all/20260523174016.999456-1-sshegde@linux.ibm.com/

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