Ily*_*kov 11 sse kernel-module linux-kernel avx
Linux内核是否有自己的SSE/AVX上下文?
我的意思是,从内核模块的角度来看,我可以使用SSE/AVX指令而不必担心可能也会使用它的用户空间应用程序吗?或者我是否需要使用某些锁或手动执行某些上下文保存?
Pet*_*ter 12
默认情况下,Linux内核不保存FPU或向量寄存器以提高上下文切换的速度.但是,您可以在某些情况下使用它们.
http://agner.org/optimize/calling_conventions.pdf的 6.3节很好地描述了在Windows和Linux中在内核模式下使用向量寄存器的过程.这是一个重要的引用:
需要使用向量寄存器的设备驱动程序必须首先通过调用函数kernel_fpu_begin()来保存这些寄存器,并在返回或休眠之前通过调用kernel_fpu_end()来恢复寄存器.
还有更多,比如在中断环境中根本不能使用它们,所以我建议阅读整个部分.
| 归档时间: |
|
| 查看次数: |
2037 次 |
| 最近记录: |