Re: Kernel-Benchmark
Matthias Kleine wrote:
Am Donnerstag, 1. November 2001 11:02 schrieb Carsten Becher:
Wie kann man eigentlich festellen , ob der eigene selbstkompilierte Kernel besser (d.h. schneller (?)) ist als der Standardkernel ? Das nachher noch alle Hardware funktioniert ist ja toll :-) , sagt mir aber noch nichts über die Geschwindigkeit .
Was soll schneller sein? Bestimmte Geräte? IO? Scheduling? VM? Was meinst Du?
- Matthias -- LPI Level 1 Certified http://www.selflinux.de
Hoi ! Nach Möglichkeit alles :-) Nein , grundsaetzlich denke ich das ein geringerer Overhead grundsaetzlich besser ist (warum sollte ich die Unterstuetzung fuer z.b. VIA-Chipsaetze fest im Kernel haben wenn in der Kiste nicht ein einziger VIA-Chip drin ist ?) . Allerdings sah ich in der Richtung auch meine Frage - bringt`s was einen eigenen Kernel zu kompilieren in Punkto Geschwindigkeit und / oder Stabilität ? Ich habe einen Eigenbau - Kernel , habe keine Probleme damit , kann jedoch auch keine grundsaetzlichen Unterschiede festellen (was ich jedoch auch nicht erwartet habe) . cu Carsten -- personal Mail bitte an : carsten-becher@cbecher.de
Carsten Becher wrote:
Was soll schneller sein? Bestimmte Geräte? IO? Scheduling? VM? Was meinst Du?
Nein , grundsaetzlich denke ich das ein geringerer Overhead grundsaetzlich besser ist (warum sollte ich die Unterstuetzung fuer z.b. VIA-Chipsaetze fest im Kernel haben wenn in der Kiste nicht ein einziger VIA-Chip drin ist ?)
Solche Optimierungen bringen im wesentlichen ein paar kb Speicher, an der Geschwindigkeit ändert sich nichts, solange Du ansonsten genügend Speicher hast.
Allerdings sah ich in der Richtung auch meine Frage - bringt`s was einen eigenen Kernel zu kompilieren in Punkto Geschwindigkeit und / oder Stabilität ? Ich habe einen Eigenbau - Kernel , habe keine Probleme damit , kann jedoch auch keine grundsaetzlichen Unterschiede festellen (was ich jedoch auch nicht erwartet habe) .
Du mußt schon konkreter ansetzen. Ein alter Hut ist die ganze DMA-Thematik bei Festplatten, das funktioniert mittlerweile bei SuSE schon recht gut aus der Box. Die meisten Kernel können es ohnehin, es muß ihnen nur gesagt werden. Du kannst auch die Grafikkarte optimieren, indem Du mtrr aktivierst. Dies ist in den Standardkerneln gelegentlich nicht der Fall. Des weiteren könnte ein Experimentieren mit verschiedenen Kerneln in Punkto Speicher- management interessant sein. Z.B. verwenden die offiziellen Kernel-Releases derzeit eine andere VM als die ac-Kernels. Und wenn Du einen älteren Kernel als 2.4.10 laufen hast, läuft dort wiederum eine andere VM. Je nach Anwendungsbereich kann die eine oder andere VM Vorteile bringen. Du mußt Dir also einzelne Teilbereiche raussuchen, in denen Du Optimierungen vornehmen möchtest. Eine globale "Kernelverschnellerung" gibt es nicht. - Matthias
Matthias Kleine wrote:
<-->
Du mußt schon konkreter ansetzen. Ein alter Hut ist die ganze DMA-Thematik bei Festplatten, das funktioniert mittlerweile bei SuSE schon recht gut aus der Box. Die meisten Kernel können es ohnehin, es muß ihnen nur gesagt werden. Du kannst auch die Grafikkarte optimieren, indem Du mtrr aktivierst. Dies ist in den Standardkerneln gelegentlich nicht der Fall. Des weiteren könnte ein Experimentieren mit verschiedenen Kerneln in Punkto Speicher- management interessant sein. Z.B. verwenden die offiziellen Kernel-Releases derzeit eine andere VM als die ac-Kernels. Und wenn Du einen älteren Kernel als 2.4.10 laufen hast, läuft dort wiederum eine andere VM. Je nach Anwendungsbereich kann die eine oder andere VM Vorteile bringen.
Du mußt Dir also einzelne Teilbereiche raussuchen, in denen Du Optimierungen vornehmen möchtest. Eine globale "Kernelverschnellerung" gibt es nicht.
- Matthias
Hoi ! Ahem - da muss ich gestehen , das mir mtrr leider nichts sagt . Ich habe fuer meine Graka die Unterstuetzung direkt in den Kernel einkompiliert ebenso AGP- Unterstuetzung und XFree86 DRI support . Wuerde ich mtrr in dieser Umgebung auch finden (charakter devices) ? DMA hat schon vorher funktioniert . Eine verbesserung der Grafikperformance waere schon was feines - Tuxkart läuft bei mir mit ca. 0.5 frames/sec , imho ein bisserl wenig für 700MHz/MGA400 . Muss allerdings sagen , das ich da keinerlei Unterschiede zwischen dem "Orginalkernel" und "meinem" Kernel verspüre . Wobei mir einfaellt - der Orginalkernel hatte Optimierung für Intel Pentium/Celeron . Ich habe allerdings einen AMD T.-Bird . Zumindest denke ich das es etwas gebracht hat , den dafür optimierten Kernel zu nehmen . cu Carsten -- personal Mail bitte an : carsten-becher@cbecher.de
Carsten Becher wrote:
Ahem - da muss ich gestehen , das mir mtrr leider nichts sagt . [...] Eine verbesserung der Grafikperformance waere schon was feines -
Den mtrr (memory type range register) Eintrag findest Du bei der Kernelkonfiguration unter Prozessor type. Achte darauf, daß Dein Prozessor diese Register auch unterstützt, sonst machst Du Dir die Arbeit umsonst. Prüfe doch mal, ob die Unterstützung nicht schon eingebaut ist # cat /proc/mtrr reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1 reg01: base=0xf0000000 (3840MB), size= 32MB: write-combining, count=1 Der erste Eintrag betrifft hier den physichen Arbeitsspeicher. Der zweite Eintrag könnte ggf. fehlen, er betrifft hier die Grafikkarte. Wenn also bei Dir ein Eintrag vom Typ write-combining fehlt, solltest Du ihn hinzufügen, den dadurch erhöht sich der Datentransfer zwischen Prozessor und Grafikkarte merklich. Die wesentlichen Schritte sind: - Ermittlung der Adresse des Grafikkartenspeichers über /var/log/kdm.log (suche nach Eintrag "Linear framebuffer" oder "Linear FB" - Ermittlung der Größe des Grafikkartenspeichers (ebendort, suche "videoram") - Umrechnung des letzteren Wertes (mal 1024, danach Umwandlung in Hex) - danach /proc/mtrr mit diesen Werten anpassen. Für weitere Infos siehe /usr/src/linux/Documentation/mtrr.txt. - Matthias -- LPI Level 1 Certified http://www.selflinux.de
Matthias Kleine wrote:
<-->
Den mtrr (memory type range register) Eintrag findest Du bei der Kernelkonfiguration unter Prozessor type. Achte darauf, daß Dein Prozessor diese Register auch unterstützt, sonst machst Du Dir die Arbeit umsonst. Prüfe doch mal, ob die Unterstützung nicht schon eingebaut ist
# cat /proc/mtrr reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1 reg01: base=0xf0000000 (3840MB), size= 32MB: write-combining, count=1
Sieht von daher ganz gut aus : reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1 reg01: base=0xd8000000 (3456MB), size= 64MB: write-combining, count=1 reg02: base=0xe0000000 (3584MB), size= 32MB: write-combining, count=1
Für weitere Infos siehe /usr/src/linux/Documentation/mtrr.txt.
<--> Alles klar , da arbeite ich mich denn mal durch . Danke ! Carsten -- personal Mail bitte an : carsten-becher@cbecher.de
Wie kann ich denn herausfinden auf welchem Port der Bahnserver www.bahn.de läuft, wenn er nicht nur Port 80 benutzt ? -- Viele Grüsse, Ulrich Schneider http://www.ulrichschneider.de uli@ulrichschneider.de
participants (4)
-
Carsten Becher
-
Matthias Kleine
-
Matthias Kleine
-
Ulrich Schneider