from slashdot, discussing the ia64 (itanium) architecture:

 Re:No FP in kernel?

 by descubes on Thursday May 16, @05:38PM (Score:4, Informative) (#3532917) 
 (User #35093 Info) http://home.earthlink.net/~descubes [ Neutral ] 

 There are two reasons:

 1/ The massive amount of FP state in IA-64 (128 FP registers). So the
 linux kernel is compiled in such a way that only some FP registers
 can be used by the compiler. This means that on kernel entry and
 exit, only those FP registers need to be saved/restored. Also, by
 software conventions, these FP registers are "scratch" (modified by a
 call), so the kernel needs not save/restore them on a system call
 (which is seen as a call by the user code)

 2/ The "software assist" for some FP operations. For instance, the FP
 divide and square root are not completely implemented in hardware
 (it's actually dependent on the particular IA-64 implementation, so
 future chips may implement it). For corner cases such as overflow,
 underflow, infinites, etc, the processor traps ("floating-point
 software assist" or FPSWA trap). The IA-64 Linux kernel designers
 decided to not support FPSWA from the kernel itself, which means that
 you can't do a FP divide in the kernel. I suspect this is what is
 more problematic for the application in question (load balancer doing
 FP computations, probably has some divides in there...)

_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to