Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02326223 authored by Kenneth W Chen's avatar Kenneth W Chen Committed by Tony Luck
Browse files

[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: default avatarKen Chen <kenneth.w.chen@intel.com>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent 295bd892
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -204,9 +204,6 @@ GLOBAL_ENTRY(ia64_switch_to)
(p6)	br.cond.dpnt .map
	;;
.done:
(p6)	ssm psr.ic			// if we had to map, reenable the psr.ic bit FIRST!!!
	;;
(p6)	srlz.d
	ld8 sp=[r21]			// load kernel stack pointer of new task
	mov IA64_KR(CURRENT)=in0	// update "current" application register
	mov r8=r13			// return pointer to previously running task
@@ -234,6 +231,9 @@ GLOBAL_ENTRY(ia64_switch_to)
	mov IA64_KR(CURRENT_STACK)=r26	// remember last page we mapped...
	;;
	itr.d dtr[r25]=r23		// wire in new mapping...
	ssm psr.ic			// reenable the psr.ic bit
	;;
	srlz.d
	br.cond.sptk .done
END(ia64_switch_to)