8000 GitHub - cs0x7f/kernel_gcc_patch: Kernel patch enables gcc optimizations for additional CPUs.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

cs0x7f/kernel_gcc_patch

 
 

Repository files navigation

#Kernel_gcc_patch Kernel patch adds additional CPU options to the Linux kernel accessible under: Processor type and features ---> Processor family --->

Why a specific patch? The kernel uses its own set of CFLAGS, KCFLAGS. For exmaple, see:

  • arch/x86/Makefile
  • arch/x86/Makefile_32.cpu
  • arch/x86/Kconfig.cpu
CPU Family GCC Optimization
Native optimizations autodetected by GCC -march=native
AMD K10-family -march=amdfam10
AMD Family 10h (Barcelona) -march=barcelona
AMD Family 14h (Bobcat) -march=brver1
AMD Family 15h (Bulldozer) -march=bdver1
Piledriver Family 15h (Piledriver) -march=bdver2
Intel 1st Gen Core i3/i5/i7-family (Nehalem) -march=corei7
Intel 2nd Gen Core i3/i5/i7-family (Sandybridge) -march=corei7-avx
Intel 3rd Gen Core i3/i5/i7-family (Ivybridge) -march=core-avx-i
Intel 4th Gen Core i3/i5/i7-family (Haswell) -march=core-avx2

#Benchmarks ##Intro Three different machines running a generic x86-64 kernel and an otherwise identical kernel running with the optimized gcc options were tested using a make based endpoint.

##Conclusion There are small but real speed increases using a make endpoint to running with this patch. They are on par with the speed increase that the upstream sanctioned core2 option gives users so not including additional options seems somewhat arbitrary to me.

##Details

  1. Three test machines: Intel Xeon X3360, Intel i7-2620M, Intel Core i7-3660K.
  2. All ran the make benchmark (linked below) 35 times while booted into a 'generic' kernel. Then all ran the same make benchmark 35 times after booting into an optimized kernel. Below are the optimizations chosen for each machine.
    • X3360 = core2
    • i7-2620M = corei7-avx
    • i7-3660K = core-avx-i
  3. Analyzed resulting distributions for statistical significance via ANOVA plots that clearly show statistically significant albeit small differences.

##Discussion

  1. All the assumptions for ANOVA are met:
    • Data are normally distributed as show in the normal quantile plots.
    • The population variances are fairly equal (Levene and Barlett tests).
  2. The ANOVA plots clearly show significance.
    • Pair-wise analysis by Tukey-Kramer shows significance at the 0.05 level for all CPUs compared.

Below are the differences in median values:

CPU Difference in median value
core2 +87.5 ms
core7-avx +79.7 ms
core-avx-i +257.2 ms

##References

##Credit

##Data ###Corei7-avx vs. Generic corei7avx

###Core-avx-i vs. Generic coreavxi

###Core2 vs. Generic core2

About

Kernel patch enables gcc optimizations for additional CPUs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0