summaryrefslogtreecommitdiffstats
path: root/arch/arc/include/asm
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2015-10-08 14:22:27 +0200
committerVineet Gupta <vgupta@synopsys.com>2015-10-17 14:18:23 +0200
commit9fabcc636bf57dcb9c6fc5b1f34861c548944fd4 (patch)
treea3924e140769864304736e3f8354e62761bf693c /arch/arc/include/asm
parentARC: [arcompact] entry.S: Document preemption games for L2 intr (diff)
downloadlinux-9fabcc636bf57dcb9c6fc5b1f34861c548944fd4.tar.xz
linux-9fabcc636bf57dcb9c6fc5b1f34861c548944fd4.zip
ARC: [arcompact] entry.S: Elide extra check/branch in exception ret path
This is done by improving the laddering logic ! Before: if Exception goto excep_or_pure_k_ret if !Interrupt(L2) goto l1_chk else INTERRUPT_EPILOGUE 2 l1_chk: if !Interrupt(L1) (i.e. pure kernel mode) goto excep_or_pure_k_ret else INTERRUPT_EPILOGUE 1 excep_or_pure_k_ret: EXCEPTION_EPILOGUE Now: if !Interrupt(L1 or L2) (i.e. exception or pure kernel mode) goto excep_or_pure_k_ret ; guaranteed to be an interrupt if !Interrupt(L2) goto l1_ret else INTERRUPT_EPILOGUE 2 ; by virtue of above, no need to chk for L1 active l1_ret: INTERRUPT_EPILOGUE 1 excep_or_pure_k_ret: EXCEPTION_EPILOGUE Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include/asm')
0 files changed, 0 insertions, 0 deletions