Mukesh Kumar Chaurasiya <mchau...@linux.ibm.com> writes:
> This is a syscall only implementation of generic entry/exit framework > for framework for ppc. IRQ handling is not done in this RFC. > > This will break the ppc32 build as of now which will be fixed along with > IRQ handling. > > Below are the performance benchmarks from perf bench basic syscall. > This is for 1,00,00,000 getppid() calls > > | Metric | Without Generic Framework | With Generic Framework | > | ---------- | ------------------------- | ---------------------- | > | Total time | 0.904 [sec] | 0.856 [sec] | > | usecs/op | 0.090403 | 0.085638 | > | ops/sec | 1,10,61,579 | 1,16,77,086 | > > That's ~5% degradation as of now. Is the table header inverted? That reads like a ~5% improvement with the generic version. Ankur > Mukesh Kumar Chaurasiya (6): > powerpc: rename arch_irq_disabled_regs > powerpc: Prepare to build with genreic entry/exit framework > powerpc: introduce arch_enter_from_user_mode > powerpc: Add flag in paca for register restore state > powerpc: Introduce syscall exit arch functions > powerpc: Enable Generic Entry/Exit for syscalls. > > arch/powerpc/Kconfig | 1 + > arch/powerpc/include/asm/entry-common.h | 158 ++++++++++++++++++++++++ > arch/powerpc/include/asm/hw_irq.h | 4 +- > arch/powerpc/include/asm/interrupt.h | 117 +++++++++++++++++- > arch/powerpc/include/asm/paca.h | 1 + > arch/powerpc/include/asm/stacktrace.h | 8 ++ > arch/powerpc/include/asm/syscall.h | 5 + > arch/powerpc/include/asm/thread_info.h | 1 + > arch/powerpc/kernel/interrupt.c | 153 ++++++----------------- > arch/powerpc/kernel/ptrace/ptrace.c | 103 --------------- > arch/powerpc/kernel/signal.c | 8 ++ > arch/powerpc/kernel/syscall.c | 117 +----------------- > arch/powerpc/kernel/traps.c | 2 +- > arch/powerpc/kernel/watchdog.c | 2 +- > arch/powerpc/perf/core-book3s.c | 2 +- > 15 files changed, 336 insertions(+), 346 deletions(-) > create mode 100644 arch/powerpc/include/asm/entry-common.h -- ankur