Kernel: CPU-Optimierung

Post Reply
Message
Author
Oliver+M.

Kernel: CPU-Optimierung

#1 Post by Oliver+M. »

Ich habe SuSE 8.0 installiert und bin mir relativ sicher, daß der Kernel dabei per default Pentium III-optimiert ist. Nun habe ich aber einen Athlon XP 1700+ und mir wurde gesagt, um dafür die Optimierung zu aktivieren, ist es nötig den Kernel neu zu kompilieren. Das würde ich theoretisch auch gerne tun, habe aber nicht das nötige Wissen, um mich durch die tausenden von Optionen zu wühlen. Kann man es eventuell so machen, daß sämtliche derzeitigen Einstellungen des bestehenden Systems übernommen werden und nur die von mir gewünschte Option (in diesem Fall die Prozessor-Optimierung) verändert wird?

Descartes

Re: Kernel: CPU-Optimierung

#2 Post by Descartes »

Warum möchtest du den Kernel (der ja schon für i686 optimiert ist) noch weiter optimieren versuchen ?
1.) Bei Microsoft Windows bekommst du einen -- wie auch immer optimierten -- Kernel vorgesetzt. Und zwar immer den selben egal ob du jetzt einen i586. i686 oder Athlon verwendest.
2.) Bei heutigen Distributionen ist es -- im Gegensatz zu sagen wir mal 1999 -- nicht mehr notwendig dass ein Anwender nach der Installation seiner Distribution erst einmal einen angepassten Linux Kernel kompiliert. Durch die konsequente Verwendung von Kernelmodulen sollte jede unterstützte Hardware Out-Of-The-Box verwendbar sein.

Signifikante Geschwindigkeitssteigerungen wirst nicht allein damit erreichen können, indem du den Kernel neu kompilierst. Wirklich feststellbare Geschwindigkeitsdifferenzen wirst du erst dann bemerken wenn du das komplette Linux System mit auf dein System optimierten Einstellungen neu kompilierst. Dann hättest du allerdings besser gleich zu LFS (Linux-From-Scratch) statt zu einer fertigen Distribution gegriffen.

Oliver M.

Re: Kernel: CPU-Optimierung

#3 Post by Oliver M. »

Gut, nun da ich das weiß, gebe ich mich mit dem zufrieden, was ich habe! Danke für die Erklärung. Jemand, der sich für einen Unix-Guru hält, es aber nicht wirklich ist, erzählte mir vor einiger Zeit, daß man nur so auch AMD's 3DNow!-Befehlssatz für seine Multimedia-Anwendungen und Spiele nutzen könne.

Descartes

Re: Kernel: CPU-Optimierung

#4 Post by Descartes »

Wenn du deine eigenen Applikationen mit 3DNow Unterstützung kompilieren möchtest dann kannst du das gerne tun.

Bsp.:
gcc -O2 -march=athlon-4 -mfpmath=sse -mhard-float -m32 -mmmx -msse -3dnow -o mein_kleines_programm main.c

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
-march= Generate code for given CPU
-mfpmath=[unit] generate floating point arithmetics for selected unit unit
-mhard-float Use hardware fp
-m32 Generate code for a 32-bit or 64-bit environment.
-mmmx These switches enable or disable the use
-msse of built-in functions that allow direct access
-msse2 to the MMX, SSE and 3Dnow extensions of the
-m3dnow instruction set.

und eventuell noch ein paar Schalter von denen hier:
-O[number] Set optimisation level to [number]
-foptimize-register-move Do the full regmove optimization pass
-fregmove Enables a register move optimisation
-frerun-loop-opt Run the loop optimiser twice
-funroll-loops Perform loop unrolling when iteration count is known
-fomit-frame-pointer When possible do not generate stack frames
</font><hr></pre></blockquote>

für weitere Compiler Schalter siehe die lokale GCC Dokumentation und Manpages oder

GCC Command Options
<a href="http://gcc.gnu.org/onlinedocs/gcc/Invoking-GCC.html" target="_blank"><!--auto-->http://gcc.gnu.org/onlinedocs/gcc/Invok ... <!--auto-->

GCC: Options Summary
<a href="http://gcc.gnu.org/onlinedocs/gcc/Optio ... %20Summary" target="_blank"><!--auto-->http://gcc.gnu.org/onlinedocs/gcc/Optio ... <!--auto-->

GCC: Intel 386 and AMD x86-64 Options
<a href="http://gcc.gnu.org/onlinedocs/gcc/i386- ... %20Options" target="_blank"><!--auto-->http://gcc.gnu.org/onlinedocs/gcc/i386- ... <!--auto-->

Post Reply