在linux内核配置中,可以选择更改CPU系列,大多数预编译的内核是generic x86/64
。
我有一个Xeon E3 CPU,所以我想知道如果我选择Core duo/Newer Xeon
那里会发生什么。
这里到底有什么区别?为我的CPU系列而不是通用内核编译内核有什么意义吗?为Xeon优化的内核甚至可以在非Xeon CPU上运行吗?有人曾经衡量过性能差异吗?
它将选择相应的配置选项(来自arch / x86 / Kconfig.cpu):
config MCORE2
bool "Core 2/newer Xeon"
一般来说,CONFIG_MCORE2
将-mtune=core2
在32位版本上启用编译器选项,并且-march=core2
(可以在Makefilesarch/x86/Makefile
和中找到arch/x86/Makefile_32.cpu
)。
这些选项在GCC手册页中进行了说明:
-march=cpu-type
为计算机类型cpu-type生成指令。与-mtune = cpu-type(仅针对指定的cpu-type调整生成的代码)相反,-march = cpu-type允许GCC生成可能根本不在所示处理器上运行的代码。
指定-march = cpu-type意味着-mtune = cpu-type。
核心2
具有64位扩展,MMX,SSE,SSE2,SSE3和SSSE3指令集的Intel Core 2 CPU。
说到该编译选项对应用程序性能的总体影响,它应该相对较低:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句