Compiler Options

Jason C. Wells jcw at highperformance.net
Sun Nov 12 07:29:39 UTC 2006


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


More information about the freebsd-stable mailing list