[RFC PATCH 0/8] Accelarate IRQ entry

From: Christophe Leroy
Date: Mon Dec 23 2019 - 10:26:13 EST


The purpose of this series is to accelerate IRQ entry by
avoiding unneccessary trampoline functions like call_do_irq()
and call_do_softirq() and by switching to IRQ stack
immediately in the exception handler.

For now, it is an RFC as it is still a bit messy.

Please provide feedback and I'll improve next year

Christophe Leroy (8):
powerpc/32: drop ksp_limit based stack overflow detection
powerpc/irq: inline call_do_irq() and call_do_softirq() on PPC32
powerpc/irq: don't use current_stack_pointer() in do_IRQ()
powerpc/irq: move set_irq_regs() closer to irq_enter/exit()
powerpc/irq: move stack overflow verification
powerpc/irq: cleanup check_stack_overflow() a bit
powerpc/32: use IRQ stack immediately on IRQ exception
powerpc/irq: drop softirq stack

arch/powerpc/include/asm/asm-prototypes.h | 1 -
arch/powerpc/include/asm/irq.h | 3 +-
arch/powerpc/include/asm/processor.h | 3 --
arch/powerpc/include/asm/reg.h | 8 ++++
arch/powerpc/kernel/asm-offsets.c | 2 -
arch/powerpc/kernel/entry_32.S | 57 ------------------------
arch/powerpc/kernel/head_32.S | 2 +-
arch/powerpc/kernel/head_32.h | 32 +++++++++++--
arch/powerpc/kernel/head_40x.S | 4 +-
arch/powerpc/kernel/head_8xx.S | 2 +-
arch/powerpc/kernel/head_booke.h | 1 -
arch/powerpc/kernel/irq.c | 74 +++++++++++++++++++++----------
arch/powerpc/kernel/misc_32.S | 39 ----------------
arch/powerpc/kernel/process.c | 7 ---
arch/powerpc/kernel/setup_32.c | 4 +-
arch/powerpc/kernel/setup_64.c | 4 +-
arch/powerpc/kernel/traps.c | 9 ----
arch/powerpc/lib/sstep.c | 9 ----
18 files changed, 95 insertions(+), 166 deletions(-)

--
2.13.3