Date: Sat, 11 Nov 2006 22:28:32 -0800 From: "Jason C. Wells" <jcw@highperformance.net> To: "O. Hartmann" <ohartman@mail.zedat.fu-berlin.de> Cc: freebsd-stable@freebsd.org Subject: Re: Compiler Options Message-ID: <4556BF10.9030002@highperformance.net> In-Reply-To: <45560E17.6070306@mail.zedat.fu-berlin.de> References: <4554D43E.5010700@highperformance.net> <20061110222434.GA76724@icarus.home.lan> <200611111019.43944.doconnor@gsoft.com.au> <45560E17.6070306@mail.zedat.fu-berlin.de>
next in thread | previous in thread | raw e-mail | index | archive | help
O. Hartmann wrote: > Daniel O'Connor wrote: > >> On Saturday 11 November 2006 08:54, Jeremy Chadwick wrote: >> >> >>> The kernel itself _will not_ use any SSE or MMX operations when built. >>> This is because these optimisations are known to break the FreeBSD >>> kernel. This applies to all i386 architectures, and probably 64-bit >>> architectures too (not sure). >>> >>> >> I think this is mainly because the kernel has no FPU context so you can't >> actually use any FPU operation (including SSE & MMX) without potentially >> trashing userland data. >> >> > > This is a good question to ask why. Still a relict from FreeBSDs BSD4.4 > legacy root? > >> Also, the cost of saving/restoring the context is quite high so potential >> benefits are largely negated. >> >> > > Well, this is often subject of lectures even at universities today and > even it is so, modern hardware design should be aware of those > disadvantages. > Ans this leads to the question whether this is in FreeBSD so because it > is really still a disadvantage (what I do not believe, even on i386 > hardware) or it is said to be so due to nobody has taken care about > that. As I remember myself, modern Linux kernels use MMX/SSE registers > even for purposes of getting an advantage in speed. > Peter Wemm once had this to say about that. http://lists.freebsd.org/pipermail/freebsd-amd64/2005-February/003663.html
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4556BF10.9030002>