-Os

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
h-man
Beiträge: 745
Registriert: 05.02.2003 13:10:08
Wohnort: Berlin
Kontaktdaten:

-Os

Beitrag von h-man » 04.03.2006 20:51:01

hy, wer hat denn erfahrungen mit der relativ neuen option in 2.6.15.... gemacht, die einen kleineren kernel backen soll? -Os statt -O2. in dem hilfetext wird ja vor kakputten compilern gewarnt, aber hat jemand schon mal einen kaputten kernel dadruch bekommen? wenn ja, mit welchem compiler?
Nieder mit der Schwerkraft.

storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

Beitrag von storm » 05.03.2006 00:19:58

Hi,

nein, Erfahrungen hab ich damit doch nicht gemacht. Aber einen kaputten Kernel wirst du dadurch nicht gleich erhalten. Die Warnung ist IMO dadurch in der Hilfe, weil einige kernel-Hacker nicht so ein starkes Vertrauen in die Optimisierungsstrategien des gcc haben, auch Linus. Hintergrund ist, das viel mit inline gearbeitet wird, das aber bei Optimisierung dafür sorgt, das eine aufgerufene inline-Funktion an jede Stelle ihres Auftretens geschrieben wird. Der entstehende Kernel ist somit um einiges grösser. -Os sorgt jetzt dafür, das nicht jedes Auftreten einer inline-Funktion tatsächlich auch so umgesetzt wird. Das gilt aber nur für Funktionen, die nicht explizit inlined sind (per Schlüsselwort).


Mehr dazu hier drawing the line on inline.

Du kannst aber gerne über eigene Erfahrungen berichten. :)


ciao, storm
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

Beitrag von storm » 07.03.2006 00:35:29

Ich hab mal etwas rumkompiliert. Kernel-2.6.15.6 mit meiner std-Konfiguration, d.h. kein all-yes-Kernel, aber immernoch genug Optionen. Beide Kernel (-O2/-Os) laufen, der Grössenunterschied ist gerade ~140k bei 1.2MB Kernelgrösse mit dem gcc-3.4.5. So richtig lohnen tut sich das also nicht. Wahrscheinlich wird der Os-Kernel auch noch langsamer sein, wenn auch nur im kosmetischen Rahmen.

ciao, storm
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

Antworten