在Linux内核中支持浮点运算的开销

Nee*_*eel 4 linux

众所周知,基于Linux/BSD的内核不支持浮点(FP)算法.在内核中处理FP寄存器的开销是多少?

zwo*_*wol 6

通常的答案是,如果内核不使用浮点数,则不必在进入内核时保存浮点寄存器或在退出时恢复它们.这减少了所有系统调用成本的几百个周期.

我不知道是否有人试图将这种节省与可能可用的性能改进进行比较,如果内核可以不加区别地使用这些寄存器.请注意,如果您采取适当的谨慎措施,可以在内核中使用它们,这可以在可获得巨大速度优势的情况下完成,例如使用SSE指令加速memcpy等.(查找kernel_fpu_beginLinux源代码中的调用.)