compilerflags

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
TED
Beiträge: 200
Registriert: 03.11.2002 14:24:24
Wohnort: Hannover
Kontaktdaten:

compilerflags

Beitrag von TED » 29.09.2003 11:37:08

hat jemand von euch was welche FLAGS bedeuten? welche für Intel gut sind und welche für AMD.

Habe mal ein bisschen rum gegoogled aber nichts richtiges gefunden.
Meine FLAGS sind:

Code: Alles auswählen

CFLAGS="-O3 -march=athlon-xp -mcpu=athlon-xp -fomit-frame-pointer -pipe"
CXXFLAGS="-O3 -march=athlon-xp -mcpu=athlon-xp -fomit-frame-pointer -pipe"
Was habt ihr damit für Erfahrungen?
error while drinking coffee: wrong or no coffee found; user depends (cup_of_coffee_full >1.0); user halted

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 30.09.2003 05:54:53

Lass beim Kernel die Finger von den Compilerflags. Der Kernel ist extrem empfindlich, was bestimmte Assemblerkonstruktionen angeht, und verlässt sicht streckenweise darauf, dass der Compiler eine ganz bestimmte Art der Optimierung vornimmt, die bei anderen Flags nicht mehr gegeben ist. Das geht soweit das Compiler Version X OK ist, Version Y aber nicht, weil der anders optimiert...

Der Kernel ist bereits soweit "handoptimiert" wie es sinnvoll ist, durch spezielle Compiler Optionen wirst Du nur wenig erreichen. Wenn Du es wirklich einmal darauf ankommen lassen willst, solltest Du Dir den icc (Intel C(++) Compiler) von der Intel Website besorgen. Der generiert hochoptimierten Code für P3/P4 und soll angeblich den Kernel compilieren können... Dabei sind Geschwindigkeitszuwächse von bis zu 25% zu erwarten (natürlich nur beim Kernel, nicht insgesamt...)

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
minimike
Beiträge: 5616
Registriert: 26.03.2003 02:21:19
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: Köln
Kontaktdaten:

Beitrag von minimike » 30.09.2003 13:23:41

800 Mücken sind nicht wenig für das Teil . Aber wie link ich den eigendlich das der mir den Kernel baut so als Nobfrage Patrik ?
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 30.09.2003 18:27:31

Für privaten, nicht kommerziellen Gebrauch kann man sich den Compiler kostenlos runterladen. Auf SID funktioniert der allerdings nicht... (libc Problem)

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
TED
Beiträge: 200
Registriert: 03.11.2002 14:24:24
Wohnort: Hannover
Kontaktdaten:

Beitrag von TED » 01.10.2003 09:46:05

....
Zuletzt geändert von TED am 01.10.2003 09:50:29, insgesamt 2-mal geändert.
error while drinking coffee: wrong or no coffee found; user depends (cup_of_coffee_full >1.0); user halted

Benutzeravatar
TED
Beiträge: 200
Registriert: 03.11.2002 14:24:24
Wohnort: Hannover
Kontaktdaten:

Beitrag von TED » 01.10.2003 09:48:31

ich muss wohl mit meinen 3 AMD's noch warten bis AMD das hinkreigt! Aber was nutzt ihr so an FLAGS -O4 oder höher? Man kann ja mal probieren was so geht, kernel backen ist ja auch kein Ding mehr 5 min oder so.
Kennt jemand eine Seite wo die FLAGS alle erklärt werden oder stehn die in ein man drin?
error while drinking coffee: wrong or no coffee found; user depends (cup_of_coffee_full >1.0); user halted

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

Beitrag von chimaera » 01.10.2003 09:54:58

na, das kernelbacken ist auch nicht das problem, aber man stelle sich vor, es gibt nachher probleme mit dateisystem-treibern oder ähnlichem.. dann herzlichen glückwunsch und viel spass.. (übrigens, objektiv spürbar ist ein performance-zuwachs erst ab ca 30%.. das schaffen garantiert keine compiler-flags ;-7 )
[..] 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
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 01.10.2003 16:52:15

Die einzelnen Flags findest Du in der gcc Doku. Sind ca. ... uff ich weiss es gar nicht, ein paar Hundert halt...

Zum Kernel kompilieren nutze ich das, was der Kernel per Default verwendet. Alles andere ist unsupported, und kann wie chimaera schon sagte zu Datenverlust führen. Wenn der Compiler auf die lustige Idee kommt, dass Locking Sections ja eigentlich gar keinen Effekt auf den Codepfad haben (haben sie nicht...) und die wegoptimiert, dann hat man keinen Kernel sondern nur ein grosses Binärfile, dass wie ein Kernel aussieht und vielleicht im ersten Momenat auch funktioniert, aber nach 5 Minuten die Festplatte frisst.

Bei normalen Userland Programmen mache ich mir meistens nicht die Mühe an den Compilerflags zu tunen. Wirklich merken tut man es echt erst ab 20 oder 30 % Zuwachs und den gibt gcc einfach nicht her. Gentoo compiliert alles bei der Installation optimiert neu. Effekt: je nach Software ist es zwischen 2% schneller oder 2% langsamer als nicht optimierte Distris... Dafür verbrät man Stunden bei einem Update mit compilieren...

Wenn Du damit experimentieren willst (Userland!) dann ist -O3 -march=ARCHTYPE -mcpu=DEINECPU noch das sinnvollste. Damit erzeugt der Codegenerator nämlich speziell für die CPU angepassten Code (Cacheline Size usw.). Alles oberhalb von -O3 ist IMHO nicht nötig.

Ah, und nochwas: Der Intel Compiler erzeugt SSE Code. Auf den meisten AthlonXPs funktioniert das einwandfrei... Muss man halt entsprechende Compiler Optionen setzen... ;-)

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

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

Beitrag von chimaera » 01.10.2003 21:33:28

zum optimierten selberbacken nach debian-art gibt's übrigens das nette tool 'apt-build'..
[..] 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

fago
Beiträge: 242
Registriert: 26.02.2003 18:19:05
Kontaktdaten:

Beitrag von fago » 02.10.2003 23:41:05

huch da hab ich meinen kernel mit O3 kompiliert.. 8O :lol:
Quis custodit custodes?

Antworten