m32r: Exit ei_handler directly for no IRQ case or IPI operations

If no IRQ request is found in the IRQ check of ei_handler,
we can exit directly by jumping "restore_all", instead of via
"ret_from_intr".

This modification is also likely effective for IPI operations,
because scheduler call never happen at the exit of IPIs.

Signed-off-by: Hitoshi Yamamoto <hitoshiy@linux-m32r.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
This commit is contained in:
Hirokazu Takata
2007-08-17 23:40:37 +09:00
parent 5171b10051
commit abd0a78235

View File

@@ -333,7 +333,7 @@ ENTRY(ei_handler)
.fillinsn .fillinsn
1: 1:
addi sp, #4 addi sp, #4
bra ret_to_intr bra restore_all
.fillinsn .fillinsn
2: 2:
srli r0, #2 srli r0, #2
@@ -382,7 +382,6 @@ check_end:
pop r14 pop r14
seth r0, #shigh(M32R_ICU_IMASK_ADDR) seth r0, #shigh(M32R_ICU_IMASK_ADDR)
st r14, @(low(M32R_ICU_IMASK_ADDR),r0) st r14, @(low(M32R_ICU_IMASK_ADDR),r0)
ret_to_intr:
bra ret_from_intr bra ret_from_intr
/* /*