Observed Stack Overflow on 8KB kernel stack on ARM specially incase on network interrupts, which results in undeterministic behaviour. So there is need for per cpu dedicated IRQ stack for ARM.
As ARm does not have extra co-processor register to save thread info pointer, IRQ stack will be at some performance cost, so code is under CONFIG_IRQ_STACK. and we don't have much knowledge and set up for CLANG and ARM_UNWIND, so dependency added for both cases. Tested patch set with QEMU for latest kernel and 4.1 kernel for ARM target with same patch set. Maninder Singh, Vaneet Narang (3): arm: introduce self pointer in thread info arm: introduce IRQ stacks arm: Modify stack trace and dump for use with irq stack arch/arm/Kconfig | 10 ++++++++ arch/arm/include/asm/assembler.h | 11 +++++++++ arch/arm/include/asm/irq.h | 13 +++++++++++ arch/arm/include/asm/thread_info.h | 27 ++++++++++++++++++++++ arch/arm/kernel/entry-armv.S | 41 ++++++++++++++++++++++++++++++++- arch/arm/kernel/irq.c | 24 +++++++++++++++++++ arch/arm/kernel/stacktrace.c | 21 +++++++++++++++++ arch/arm/kernel/traps.c | 47 +++++++++++++++++++++++++++++++++++--- arch/arm/lib/backtrace.S | 18 +++++++++++++++ include/linux/thread_info.h | 4 ++++ kernel/fork.c | 1 + 11 files changed, 213 insertions(+), 4 deletions(-) -- 1.9.1