Kernel mit CPU Extension erstelln

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Antworten
altersiedler
Newbie
Newbie
Beiträge: 15
Registriert: 22. Nov 2004, 22:52
Kontaktdaten:

Kernel mit CPU Extension erstelln

Beitrag von altersiedler » 4. Jun 2005, 11:09

Hallo zusammen!

Mir ist letztens ne idee gekommen:
Wenn ich was mit dem gcc copaliere(wie schreibt man das ?), dann kann ich dem doch sagen, das der für das Programmm die Befehlssätze der CPU(z.B MMX, SSE2,..) mitverwenden soll => Programm läuft auf dieser einen cpu schneller

jetzt meine Idee: Wenn ich das mit dem Kernel mache, müsste mein ganzes System etwas schneller laufen.

Liege ich da richtig? gibst das was zu beachten, wenn ich das machen will?

gruß altersiedler

PS: Habe mich mit dem Thema Kernel noch nicht groß beschäftig

Werbung:
Benutzeravatar
Gimpel
Guru
Guru
Beiträge: 1983
Registriert: 11. Feb 2004, 13:58
Wohnort: Mjunik .... "no a hoibe, resi!"
Kontaktdaten:

Beitrag von Gimpel » 4. Jun 2005, 15:52

wenn man in der kernel config den genauen cpu typ angibt, kompiliert gcc automatisch mit entsprechenden CFLAGS
;)

zB athlon --> -march=athlon-xp

der gcc erkennt aus -march auch gleich, was die cpu so unterstützt..
# cat /proc/cpuinfo | grep flags
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
es gibt zwar nen sogenannten cflags-moo patch, um die zu umgehen und eigene zu setzen, aber das is EVIL!

btw: wie definierst du schnell?
klar: generic x86 support raus, genauen prozzi typ rein --> optimierter kernel --> eigene features können genutzt werden (zB 3dnowext @ athlon)

ABER: den eigentlichen "speed" macht der cpu scheduler. default ingo is für desktops lahmer als RTP mit LLD mode, oder con's staircase. beides scheduler optimiert für desktop usage

für server is das beste der default scheduler aus vanilla, oder zaphod soll sich da auch gut machen

das ganze dann mit dem passenden i/o scheduler... für desktops is da cfq mit timesliced design (cfq-ts) zu empfehlen, gute balance. deadline is fein wenn man es oft mit unzahlen kleiner files zu tun hat. der prescht die einfach durch
Bild on AMD Athlon64 X2 5600+|64bit|6GB DDR2 800MHz|nVidia GF 8500GT|2.6.29-rc1-moo1|BTRFS|KDE-4.2 SVN trunk + Compiz++|M-Audio Audiophile 2496
----
Bild

altersiedler
Newbie
Newbie
Beiträge: 15
Registriert: 22. Nov 2004, 22:52
Kontaktdaten:

Beitrag von altersiedler » 10. Jun 2005, 16:41

Danke für deine antwort!

nun habe ich noch ein paar frage für diesen teil:
Gimpel hat geschrieben: ABER: den eigentlichen "speed" macht der cpu scheduler. default ingo is für desktops lahmer als RTP mit LLD mode, oder con's staircase. beides scheduler optimiert für desktop usage

für server is das beste der default scheduler aus vanilla, oder zaphod soll sich da auch gut machen

das ganze dann mit dem passenden i/o scheduler... für desktops is da cfq mit timesliced design (cfq-ts) zu empfehlen, gute balance. deadline is fein wenn man es oft mit unzahlen kleiner files zu tun hat. der prescht die einfach durch
1 Frage: was nutzt der suse standart kernel für nen cpu-scheduler?
2. Frage: wenn ich nen anderen scheduler haben will,muss ich sicher nen neunen kernel bauen?

Benutzeravatar
Gimpel
Guru
Guru
Beiträge: 1983
Registriert: 11. Feb 2004, 13:58
Wohnort: Mjunik .... "no a hoibe, resi!"
Kontaktdaten:

Beitrag von Gimpel » 10. Jun 2005, 18:17

altersiedler hat geschrieben: 1 Frage: was nutzt der suse standart kernel für nen cpu-scheduler?
2. Frage: wenn ich nen anderen scheduler haben will,muss ich sicher nen neunen kernel bauen?
zu 1) SuSE default nutzt den standard scheduler aus vanilla, und den mit generischem x86 support, spriche ohne CPU spezifische optimierungen

zu 2) ja, logo.
zB einen -ck http://members.optusnet.com.au/ckolivas/kernel/

oder einen mit Raltime Preemption http://linux-club.de/viewtopic.php?t=31817
wo bei du bei dem howto nicht "full preempt" sondern "low latency desktop" auswählen musst

ich hab hier immer eins von beiden laufen, derzeit -ck, der davor war RTP, sehr angenehm flott und interaktiv
Bild on AMD Athlon64 X2 5600+|64bit|6GB DDR2 800MHz|nVidia GF 8500GT|2.6.29-rc1-moo1|BTRFS|KDE-4.2 SVN trunk + Compiz++|M-Audio Audiophile 2496
----
Bild

jengelh
Guru
Guru
Beiträge: 4039
Registriert: 20. Nov 2004, 17:42
Kontaktdaten:

Re: Kernel mit CPU Extension erstelln

Beitrag von jengelh » 12. Jun 2005, 12:07

altersiedler hat geschrieben:Wenn ich was mit dem gcc copaliere(wie schreibt man das ?),
Infinitv: kompilieren
dann kann ich dem doch sagen, das der für das Programmm die Befehlssätze der CPU(z.B MMX, SSE2,..) mitverwenden soll => Programm läuft auf dieser einen cpu schneller
Jo, ( -msse oder -msse2 oder -msse3 ) UND -mfpmath=sse
Allerdings bringt dir das wenig, da Floating Point im Kernel tabu ist.

Für den anderen Kram, z.B. cmov usw. gibt's im make menuconfig ja "Processor subtype".

Topic: Speed? Kernel mit HZ=100, große Timeslices und Seti@Home mit SSE :-)
cfq auch, aber das ist ja'n disk scheduler, kein process sched.

altersiedler
Newbie
Newbie
Beiträge: 15
Registriert: 22. Nov 2004, 22:52
Kontaktdaten:

Beitrag von altersiedler » 14. Jun 2005, 21:17

hört sich alles sehr interessant an, werde mir das mal in den ferien vornehmen

danke an euch

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste