diff options
author | Hirokazu Takata <takata@linux-m32r.org> | 2007-08-17 23:40:37 +0900 |
---|---|---|
committer | Hirokazu Takata <takata@linux-m32r.org> | 2007-09-03 11:30:18 +0900 |
commit | abd0a782359717ded8f663bc5b8e5e9e3cc4f5e7 (patch) | |
tree | c0bec75a53238f4f1b70753b343623722afd53ef /arch/m32r/kernel/entry.S | |
parent | 5171b100511513bc52875055f7d900fc3f7c922b (diff) | |
download | kernel_samsung_crespo-abd0a782359717ded8f663bc5b8e5e9e3cc4f5e7.zip kernel_samsung_crespo-abd0a782359717ded8f663bc5b8e5e9e3cc4f5e7.tar.gz kernel_samsung_crespo-abd0a782359717ded8f663bc5b8e5e9e3cc4f5e7.tar.bz2 |
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>
Diffstat (limited to 'arch/m32r/kernel/entry.S')
-rw-r--r-- | arch/m32r/kernel/entry.S | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/m32r/kernel/entry.S b/arch/m32r/kernel/entry.S index 07d95a4..4b3a774 100644 --- a/arch/m32r/kernel/entry.S +++ b/arch/m32r/kernel/entry.S @@ -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 /* |