在功能级别轻松创建Linux内核。在过去的一年中,“x86-64微架构功能级别”已被AMD和英特尔的处理器作为常规级别采用,而不仅仅是由代码编译器为每个CPU/核心系列编译。x86-64微架构特性级别对于像Glibc这样的HWCAPS很有用,并且在许多Linux发行版和其他软件中也逐步取消了对旧版X86-64的支持。在标准x86-64上,x86-64-v2规范大致相当于IntelNehalem和更新的SSE3/SSE4.1/SSE4.2/SSSE3,而x86-64-v3相当于Haswell时代的CPU和更新的许可AVX/AVX2/BMI2/FMA(和其他扩展),然后x86-64-v4作为AVX-512处理器的最新功能级别。本周的补丁将添加用于构建Linux内核的Kconfig选项,如果您希望通过仅迎合较新的处理器来获得更优化的内核,则可以选择针对不同的x86-64微体系结构功能级别。支持x86-64微体系结构功能级别的编译器是GCC11和更新版本,或者LLVMClang12.0和更新版本。一组相当基本的补丁,添加了围绕x86-64功能级别的Kconfig构建支持,目前在内核邮件列表中,但希望很快就会进入主线树。在实践中对其进行基准测试并了解这些功能级别对现代Intel/AMDCPU上的Linux内核有多大影响将会很有趣。
