diff options
author | Chen, Kenneth W <kenneth.w.chen@intel.com> | 2005-09-07 04:00:37 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-09-07 16:56:23 -0400 |
commit | 02326223247c773bc007629d54622d750c0371c1 (patch) | |
tree | debb5e8b570310f150cfd5e6504c814b584d159f /arch/ia64/kernel/entry.S | |
parent | 295bd89279aad6959f0d363ee8e946d4766f9ad8 (diff) |
[IA64] minor performance tune-up in ia64_switch_to
The reenabling of psr.ic should really belong to dtr mapping code block.
It make the fall through code fast since it doesn't need to execute the
predicated-off instruction. Logically make more sense as well since psr.ic
was turned off in .map code block.
Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/kernel/entry.S')
-rw-r--r-- | arch/ia64/kernel/entry.S | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S index 9be53e1ea404..3c8821024509 100644 --- a/arch/ia64/kernel/entry.S +++ b/arch/ia64/kernel/entry.S | |||
@@ -204,9 +204,6 @@ GLOBAL_ENTRY(ia64_switch_to) | |||
204 | (p6) br.cond.dpnt .map | 204 | (p6) br.cond.dpnt .map |
205 | ;; | 205 | ;; |
206 | .done: | 206 | .done: |
207 | (p6) ssm psr.ic // if we had to map, reenable the psr.ic bit FIRST!!! | ||
208 | ;; | ||
209 | (p6) srlz.d | ||
210 | ld8 sp=[r21] // load kernel stack pointer of new task | 207 | ld8 sp=[r21] // load kernel stack pointer of new task |
211 | mov IA64_KR(CURRENT)=in0 // update "current" application register | 208 | mov IA64_KR(CURRENT)=in0 // update "current" application register |
212 | mov r8=r13 // return pointer to previously running task | 209 | mov r8=r13 // return pointer to previously running task |
@@ -234,6 +231,9 @@ GLOBAL_ENTRY(ia64_switch_to) | |||
234 | mov IA64_KR(CURRENT_STACK)=r26 // remember last page we mapped... | 231 | mov IA64_KR(CURRENT_STACK)=r26 // remember last page we mapped... |
235 | ;; | 232 | ;; |
236 | itr.d dtr[r25]=r23 // wire in new mapping... | 233 | itr.d dtr[r25]=r23 // wire in new mapping... |
234 | ssm psr.ic // reenable the psr.ic bit | ||
235 | ;; | ||
236 | srlz.d | ||
237 | br.cond.sptk .done | 237 | br.cond.sptk .done |
238 | END(ia64_switch_to) | 238 | END(ia64_switch_to) |
239 | 239 | ||