Kernel bzw. Bootperformance

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
Raoul
Beiträge: 1435
Registriert: 20.05.2003 00:16:35
Lizenz eigener Beiträge: neue BSD Lizenz
Kontaktdaten:

Kernel bzw. Bootperformance

Beitrag von Raoul » 11.10.2003 20:33:26

Hallo!

Ich will zurückkommen auf ein interessantes Posting (ganz unten) von chimaera. Wichtig der Link zu einem Artikel in der Linux-Gazette.

Während ich behauptet hatte, ein selbstgebackener Kernel sei ein guter Weg, die Performance zu erhöhen, hat mich der Artikel in der LG auf den Boden der Tatsachen zurückgeholt: Das gehe gar nicht, bringe nur wenig und habe bei heutiger Hardware keine Bedeutung mehr.

ABER: Was ich dann nicht verstehe: Warum booten meine selbstgebackenen Kernel immer schneller? Ich habe ziemlich vieles rausgeschmissen. Warum soll ich Module für Soundkarten haben, die ich niemals besitzen werde? Also gerade mal 10 Module oder so, alles was Soundblaster heisst und die wichtigsten onboard-chips.
PCMCIA: raus, Firewire: raus, ISA-Netzwerkkarten: raus, ... es gibt so viel was man rausschmeissen kann, man selbst weiss ja, was man für Hardware hat.
USB und Bluetooth etc. habe ich alles dabei: Wenn ein Freund mit einer Digicam vorbei kommt, will ich nicht, dass es wieder heisst: Typisch Linux, das ist immer so kompliziert.

So, jetz muss ich mal mit Zahlen rüberkommen:
(Alle Werte gemessen von lilo bis zum vollständigen Erscheinen des Logins)
2.4.18-bf: 28,8 Sek (Original Debian Kernel)
2.4.18-mh8: 28,1 Sek (mit diversen Patches, aber basierend auf der config-bf-2.4, nur wenig rausgeschmissen und einige Sachen sogar hinzugefügt)
2.4.22-mh1: 25,3 Sek (von kernel.org, genauso gepatched, aber komplett eigene config und sehr abgespeckt, trotzdem immer noch mehr als ich brauche)

Ich spare beim Booten also 3,5 Sekunden (>10%).

Der Hammer ist aber, dass meine Fedora-Partition gute 50 Sekunden zum Booten braucht. Ich habe mir den Spass gemacht, und meinen 2.4.22er Kernel draufgemacht, und war erstaunt: Plötzlich bootet er in weniger als 35 Sekunden, als wäre das nie ein Problem gewesen.

Kann mir das einer erklären? Das kann also nicht nur die Optimierung auf einen Prozessor sein.
Und kennt einer ein wirklich zuverlässiges Benchmark?

Danke!

Raoul

Code: Alles auswählen

grep -ir fuck /usr/src/linux

Benutzeravatar
chimaera
Beiträge: 3804
Registriert: 01.08.2002 01:31:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von chimaera » 11.10.2003 20:43:12

alles schön und gut, aber das ein schlanker kernel schneller bootet ist (fast) klar. ih bin mit den interna nicht vertraut, aber ich vermute hier werden weniger treiber 'probiert', es muss weniger geladen respektive aus dem speicher entfernt werden.. davon abgesehen: 10% wirst du nur mit uhr bemerken. das ist auch gar nicht das, woraif der artikel hinaus will. dort get es eben um die performance zur laufzeit. und hier ist es (für mich zumindest, klärt mich auf wenn ich falsch liege) einleuchtend, das es keine rolle spielt wie aufgebläht der kernel ist, da eh nur verwendbare treiber benutzt werden..
[..] Linux is not a code base. Or a distro. Or a kernel. It's an attitude. And it's not about Open Source. It's about a bunch of people who still think vi is a good config UI. - Matt's reply on ESR's cups/ui rant

Benutzeravatar
Eric
Beiträge: 59
Registriert: 05.05.2003 22:23:42
Wohnort: Graz/Österreich

Beitrag von Eric » 11.10.2003 23:20:27

Aber ist es nicht so, dass mit jeder neuen Kernel Version dessen Treiber auch optimiert und daher de fakto schneller geladen werden?

Der Kernel 2.4.22 mit den Performance Patches von Con Kolivas etwa, bringen bei mir nicht nur einen schnellen Bootvorgang, sondern auch eine besser Overall Performance (KDE etwa reagiert viel schneller, auch Keystrokes werden schneller angenommen)

Linux geht also mit Riesenschritten immer näher in Richtung Desktopkompatibilität wie ich finde.
No Fate but what we make
Desire is irrelevant, I am ... a Machine ...

Benutzeravatar
chimaera
Beiträge: 3804
Registriert: 01.08.2002 01:31:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von chimaera » 11.10.2003 23:52:05

auch das ist schön und gut, aber neue versionen haben nichts mit dieser diskussion zu tun. es geht darum, ob mein system, wenn ich die gleichen sourcen verwende und ich den kernel lediglich 'schlanker' mache, schneller wird. dazu kommen dann noch dinge wie cpu-optimierung und evtl ein 'besserer', weil neuerer compiler.

was das 'schneller' mit den ck-pacthes angeht: das system wird nicht schneller, es reagiert für den user nur besser. anwendungen laufen nach wie vor genauso schnell ab (d.h. du wirst z.b. die zeit, die du benötgst um eine appliaktion zu kompilieren, damit nicht verkürzen..)
[..] Linux is not a code base. Or a distro. Or a kernel. It's an attitude. And it's not about Open Source. It's about a bunch of people who still think vi is a good config UI. - Matt's reply on ESR's cups/ui rant

Benutzeravatar
Eric
Beiträge: 59
Registriert: 05.05.2003 22:23:42
Wohnort: Graz/Österreich

Beitrag von Eric » 12.10.2003 01:48:11

Okay das war mir schon klar, ich denke wenn man den Kernel schlanker macht wird er logischerweise schneller laden (weniger Treiber = schnellerer Bootvorgang) - Die Performance des Systems wird abgesehn von Prozessor und Compiler Optimierungen wohl die Selbe bleiben wenn man natürlich keinen Treiber drin hat der das System ausbremst.
No Fate but what we make
Desire is irrelevant, I am ... a Machine ...

Benutzeravatar
spiffi
Beiträge: 1128
Registriert: 09.08.2003 19:02:27

Beitrag von spiffi » 12.10.2003 23:28:47

chimaera hat geschrieben:was das 'schneller' mit den ck-pacthes angeht: das system wird nicht schneller, es reagiert für den user nur besser. anwendungen laufen nach wie vor genauso schnell ab (d.h. du wirst z.b. die zeit, die du benötgst um eine appliaktion zu kompilieren, damit nicht verkürzen..)
Genaugenommen laufen die Anwendungen sogar langsamer ab. Das System reagiert halt nur schneller.
Diese schnellere Reaktion wird unter anderem durch häufigere Kontextwechsel erreicht (sprich: Wechsel des laufenden Threads). Und solche Kontextwechsel kosten Zeit. Für normale Desktopanwendungen, die ohnehin die meiste Zeit damit verbringen auf Eingaben des Benutzers zu warten ist das allerdings ziemlich irrelevant. Dementsprechend sind die ck-Patches für Desktopsysteme ne tolle Sache, aber auf nem Server oder Router eher kontraproduktiv.
Ach ja, wer sein Linux schneller booten lassen möchte, der sollte sich vielleicht mal den Artikel 'Boot Linux faster' auf den IBM developerWorks Seiten ansehen.

Benutzeravatar
chimaera
Beiträge: 3804
Registriert: 01.08.2002 01:31:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von chimaera » 13.10.2003 07:45:45

spiffi hat geschrieben: Genaugenommen laufen die Anwendungen sogar langsamer ab. Das System reagiert halt nur schneller.
Diese schnellere Reaktion wird unter anderem durch häufigere Kontextwechsel erreicht (sprich: Wechsel des laufenden Threads). Und solche Kontextwechsel kosten Zeit. Für normale Desktopanwendungen, die ohnehin die meiste Zeit damit verbringen auf Eingaben des Benutzers zu warten ist das allerdings ziemlich irrelevant. Dementsprechend sind die ck-Patches für Desktopsysteme ne tolle Sache, aber auf nem Server oder Router eher kontraproduktiv.
Ach ja, wer sein Linux schneller booten lassen möchte, der sollte sich vielleicht mal den Artikel 'Boot Linux faster' auf den IBM developerWorks Seiten ansehen.
full ack! con stellt übrigens auch einen server-kernel bereit.. :wink:
[..] Linux is not a code base. Or a distro. Or a kernel. It's an attitude. And it's not about Open Source. It's about a bunch of people who still think vi is a good config UI. - Matt's reply on ESR's cups/ui rant

Antworten