m32r: Exit ei_handler directly for no IRQ case or IPI operations
authorHirokazu Takata <takata@linux-m32r.org>
Fri, 17 Aug 2007 14:40:37 +0000 (23:40 +0900)
committerHirokazu Takata <takata@linux-m32r.org>
Mon, 3 Sep 2007 02:30:18 +0000 (11:30 +0900)
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>
arch/m32r/kernel/entry.S

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