Wie kann man den Linux-Kernel für -0 optimieren und kompilieren?

9

Ich möchte die Speicherverwaltung des Linux-Kernels lesen und verstehen (insbesondere defrag \ compaction \ migration).

Also, ich deaktiviere die Optimierung für die Größe in .config (natürlich mit make menuconfig) und kompiliere ... Das lässt mich noch mit einem optimierten Kernel.

HINWEIS: Wenn ich optimized kernel sage, meine ich, dass wenn ich gdb verwende und es next sage, dass es herumspringt. Ich will das nicht, ich möchte dem Code Zeile für Zeile folgen können, so wie ich es mit einer einfachen Hallo-Welt tun würde.

Als nächstes bearbeite ich Makefile und vertausche -O2 mit -O0 , was dazu führt, dass die Dinge nicht mehr funktionieren.

Ich fand dies , aber ich nicht Ich weiß nicht, welche Dateien ich brauche, weil ich nicht weiß, wie weit das Kaninchenloch reicht.

Gibt es eine allgemeinere Option, die ich verwenden kann? Ich verstehe die Konzepte der Speicherverdichtung; Ich möchte jedoch sehen, wo alles passiert und wie es genau passiert.

    
SailorCire 19.03.2015, 17:29
quelle

1 Antwort

5

Sie können den Kernel nicht de-optimieren. Möglicherweise können Sie bestimmte Funktionen wie folgt deaktivieren:

%Vor%

Aber der Kernel als Ganzes benötigt -O2, weil der Code selbst mit Annahmen geschrieben ist, dass bestimmte Funktionen in einer bestimmten Weise optimiert werden.

Tut mir leid, aber du wirst wirklich wissen müssen, wie groß das Kaninchenloch ist, das du untergehen willst.

    
Richard Fallon 08.11.2015 16:07
quelle