[RFC V2 0/8] Generic IRQ entry/exit support for powerpc
Samir Alamshaha Mulani
Samir.Mulani at ibm.com
Wed Sep 24 19:04:55 AEST 2025
On 09/09/25 2:32 am, Mukesh Kumar Chaurasiya wrote:
> Adding support for the generic irq entry/exit handling for PowerPC. The
> goal is to bring PowerPC in line with other architectures that already
> use the common irq entry infrastructure, reducing duplicated code and
> making it easier to share future changes in entry/exit paths.
>
> This is slightly tested on ppc64le.
>
> The performance benchmarks from perf bench basic syscall are below:
>
> | Metric | W/O Generic Framework | With Generic Framework | Improvement |
> | ---------- | --------------------- | ---------------------- | ----------- |
> | Total time | 0.885 [sec] | 0.880 [sec] | ~0.56% |
> | usecs/op | 0.088518 | 0.088005 | ~0.58% |
> | ops/sec | 1,12,97,086 | 1,13,62,977 | ~0.58% |
>
> Thats close to 0.6% improvement with this.
>
> Changelog:
> V1 -> V2: Support added for irq with generic framework.
>
> Mukesh Kumar Chaurasiya (8):
> powerpc: rename arch_irq_disabled_regs
> powerpc: Prepare to build with generic entry/exit framework
> powerpc: introduce arch_enter_from_user_mode
> powerpc: Introduce syscall exit arch functions
> powerpc: add exit_flags field in pt_regs
> powerpc: Prepare for IRQ entry exit
> powerpc: Enable IRQ generic entry/exit path.
> powerpc: Enable Generic Entry/Exit for syscalls.
>
> arch/powerpc/Kconfig | 2 +
> arch/powerpc/include/asm/entry-common.h | 550 ++++++++++++++++++++++++
> arch/powerpc/include/asm/hw_irq.h | 4 +-
> arch/powerpc/include/asm/interrupt.h | 393 +++--------------
> arch/powerpc/include/asm/ptrace.h | 2 +
> arch/powerpc/include/asm/stacktrace.h | 8 +
> arch/powerpc/include/asm/syscall.h | 5 +
> arch/powerpc/include/asm/thread_info.h | 1 +
> arch/powerpc/include/uapi/asm/ptrace.h | 14 +-
> arch/powerpc/kernel/asm-offsets.c | 1 +
> arch/powerpc/kernel/interrupt.c | 251 ++---------
> arch/powerpc/kernel/interrupt_64.S | 2 -
> arch/powerpc/kernel/ptrace/ptrace.c | 142 +-----
> arch/powerpc/kernel/signal.c | 8 +
> arch/powerpc/kernel/syscall.c | 119 +----
> arch/powerpc/kernel/traps.c | 2 +-
> arch/powerpc/kernel/watchdog.c | 2 +-
> arch/powerpc/perf/core-book3s.c | 2 +-
> 18 files changed, 698 insertions(+), 810 deletions(-)
> create mode 100644 arch/powerpc/include/asm/entry-common.h
>
Hi,
I have reviewed and tested the generic IRQ entry/exist patch series.
Below are my observations:
Test Coverage
• Successfully ran LTP (specially syscall) and entire LTP test
suite, without observing any regressions or issues related to the
implementation.
System Configuration
• CPUs: 640
• Kernel: v6.17.0-rc6+
• Processor mode: Shared (uncapped)
Performance Evaluation
• Conducted benchmarking using perf bench syscall basic -l.
• No functional regressions observed, and results were
consistent with expectations.
The performance benchmarks from perf bench basic syscall are below:
Loops = 100,000 | Metric | W/O Generic Framework | With Generic
Framework | Improvement |
|----------|-----------------------:|-----------------------:|------------:|
| usecs/op | 0.124562 | 0.124253 | ~0.25% | | ops/sec | 8,028,471 |
8,048,158 | ~0.25% | Loops = 1,000,000 | Metric | W/O Generic Framework
| With Generic Framework | Improvement |
|----------|-----------------------:|-----------------------:|------------:|
| usecs/op | 0.125389 | 0.124374 | ~0.81% | | ops/sec | 7,977,511 |
8,040,330 | ~0.79% | Loops = 10,000,000 | Metric | W/O Generic Framework
| With Generic Framework | Improvement |
|----------|-----------------------:|-----------------------:|------------:|
| usecs/op | 0.124626 | 0.123928 | ~0.56% | | ops/sec | 8,024,058 |
8,069,182 | ~0.56% | **Overall (aggregated across all runs)** | Metric |
W/O Generic Framework | With Generic Framework | Improvement | |
---------- |
---------------------:|-----------------------:|------------:| | Total
time | 1.384 [sec] | 1.376 [sec] | ~0.58% | | usecs/op | 0.124694 |
0.123971 | ~0.58% | | ops/sec | 8,019,904 | 8,066,393 | ~0.58% |
Here with this benchmarking we can see the improvement close to 0.6%.
Overall, the patch series works as intended in my testing.
Please add below tag for the patch set.
Tested-by: Samir M <samir at linux.vnet.ibm.com>
Thank You !!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20250924/1c22ea8c/attachment.htm>
More information about the Linuxppc-dev
mailing list