[RFC PATCH 0/8] Accelarate IRQ entry

Christophe Leroy christophe.leroy at c-s.fr
Tue Dec 24 02:26:10 AEDT 2019


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



More information about the Linuxppc-dev mailing list