Subject: Re: lazy FPU context switching ports
To: Jason Thorpe <thorpej@shagadelic.org>
From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
List: tech-kern
Date: 07/12/2005 11:56:58
--pWyiEgJYm5f9v55/
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Jul 11, 2005 at 09:48:01PM -0700, Jason Thorpe wrote:
>=20
> On Jul 11, 2005, at 8:04 PM, Rui Paulo wrote:
>=20
> >If no one is against this, please send me an email saying the ports =20
> >you
> >know that use/don't use lazy fpu context switching.
>=20
> I'm pretty sure that every platform that can support it does.  I =20
> think this is basically "every FPU-supporting platform except for =20
> m68k platforms".  m68k is the exception because I don't think there =20
> is a way to disable the FPU (a requirement for lazy FP switching).

m68060 can do this. You have to do a FSAVE or FNOP before=20
switching off the FPU, so you don't gain free FPU time for a context
switching process, but at least don't need to save and restore the FP
registers when not needed (24 times 32 bit from FPU to memory, and 24
times 32 bit from memory to FPU). I checked this details with Motorola
a few years ago (got forwarded an answer from a guy who had access to
the design / simulation data).

This even would make the FPU switching part of CPU switching less
messy for combined m68060 and non-m68060 kernels.

Is somewhere on my personal to do list.=20

Regards,
	-is

--pWyiEgJYm5f9v55/
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: 2.6.i

iQEVAgUBQtOT6DCn4om+4LhpAQEnVQf/QHlYuQupHyBb+OZNWuMCzD+LHn+runpW
v2sEgq6QN5vTrwD8M7A/RetvWx68hvlNQJmKPJaBAedBUTAP2YQNA3YF66oepBsn
CzU8Z8fZeXTa2l+j1HKCu9N8ALsIZP5+iW45zT57c84E56MiZt0rPP279qSXD1cD
yodhHFsHiLOR4S7KRszUwuT905/Qg9FQ7gWHuyiJoAr7sLh12AIBSgcA3Y03dLrc
izUSz13uoUm+LeXoZnGs6NN5zJxpfSNUkNLaLbKyBSYFHARXODKLgNUeYILx/ErG
+bQH+eke2UqSA1yHrZbK/Q1ZlP6gKsoeqdxhZqzAyBFUdVYygiyuAA==
=pxYt
-----END PGP SIGNATURE-----

--pWyiEgJYm5f9v55/--