alpha_fpstate_save is fairly expensive (critical enter/exit, possibly

saves 32 registers) to do on every context switch.  This is only required
for SMP, so only do it there.

We should also look at moving the critical enter/exit out to the callers
This commit is contained in:
Andrew Gallatin 2001-04-25 13:57:33 +00:00
parent 2c1f07ae14
commit 7b6630700d
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=75971

View File

@ -140,12 +140,14 @@ Lcs1: LDGP(pv)
cmpeq s0, s2, t0 /* oldproc == newproc? */
bne t0, Lcs7 /* Yes! Skip! */
#ifdef SMP
/*
* Save fp state if we have some.
*/
mov s0, a0 /* curproc */
ldiq a1, 1 /* clear fpcurproc */
CALL(alpha_fpstate_save)
#endif
/*
* Deactivate the old address space before activating the