What are the differences between the Linux kernel compiled for generic x86 / 64 vs Xeon or others?

In the Linux kernel configuration, it is possible to change the CPU family, most of the precompiled kernels generic x86/64.

I have a Xeon E3 processor, so I was wondering what would happen if I found there Core duo/Newer Xeon.

What exactly are the differences here? Does it make sense to compile a kernel for my processor family instead of a generic one? Does the kernel optimized for Xeon even run on processors other than Xeon? Has anyone ever measured some differences in performance, etc.?

+4
source share
1 answer

He will select the appropriate configuration option (from arch / x86 / Kconfig.cpu):

config MCORE2
     bool "Core 2/newer Xeon"

, CONFIG_MCORE2 -mtune=core2 32- -march=core2 ( Makefiles arch/x86/Makefile arch/x86/Makefile_32.cpu).

GCC:

-march=cpu-type

cpu. -mtune = cpu-type, cpu, -march = cpu-type GCC , , .

-march = cpu-type -mtune = cpu-type.

core2

Intel Core 2 64- , MMX, SSE, SSE2, SSE3 SSSE3.

, :

  • . , . .
  • , SIMD-, ( , , ). . .
  • , , , , , . 2% , 10% , 0,2% .
+4

Source: https://habr.com/ru/post/1584183/


All Articles