Debugging in RELENG_6 ausgeschaltet in Vorbereitung auf BETA5

cryptosteve

Ex-Steve`
Am Morgen des 18.09.2005 hat Scott Long das Kerneldebugging (INVARIANTS, WITNESS, KDB) sowie das malloc-Debugging für RELENG_6 in Vorbereitung auf BETA5 ausgeschaltet.

Darüber hinaus wurde SMP in der i386 und AMD64 GENERIC-Konfiguration ausgeschaltet. Wer also beabsichtigt, GENERIC-Kernel für i386 und/oder AMD64 zu bauen und mehrere CPUs nutzen möchte, muß auf die SMP-Kernelkonfiguration wechseln oder die Zeile "option SMP" in die alte GENERIC-Konfiguration zurückschreiben. Für Hyperthreading ist zusätzlich die Zeile 'machdep.hyperthreading_allowed=1' in /boot/loader.conf erforderlich.

Die Mail von Scott kann hier eingesehen werden.
 
Zuletzt bearbeitet:
Was heisst das eigentlich für das Userland? Wir hatten ja mal vor kurzem schon die Diskussion, wie man alle Bremsen abschalten kann und dabei kam heraus, dass auch Ports von dem Debugging-Optionen betroffen sein können. Muss man die nun auch alle neu bauen, oder betrifft das nur das Basissystem?

I.MC
 
Wenn ich die Diskussionen richtig verstanden habe, dann betrifft das wirklich nur die Kerneloptionen und halt malloc. Letzteres habe ich hier grundsätzlich ausgeschaltet, weil pekwm hier sonst auf aktuellen Systemen gar nicht ans Rennen kommt. Ich habe allerdings noch nicht wirklich verstanden, was das Linken von /etc/malloc.conf auf 'aj' bewirkt. Ich weiß nur, dass es hier für pekwm funktioniert.

Ansonsten müßten die Userland-Bremsen alle noch drinnen sein. Wieviele das sind und wie sich das genau auswirkt, weiß ich aber auch nicht. Ich weiß nur, dass unabhängig von der Änderung von heute morgen von Scott schon irgendwas anderes passiert sein muß, denn meine TV-Karte hat kräftig an Performance zugelegt, bzw. läßt sich von IO-Load nicht mehr so aus dem Tritt bringen.
 
Die einzige "Userland-Bremse" ist malloc(3) bzw. die unter -CURRENT aktivierten Debugoptionen AJ (IIRC). Was die bewirken kann man in malloc(3) nachlesen.

Das pekwm mit diesen Optionen nicht laeuft heisst nur, dass es buggy ist und malloc/realloc/free falsch verwendet.
 
Danke für den Hinweis auf malloc.conf. War eigentlich recht naheliegend. Ich habs mir mal durchgelesen, allerdings nicht besonders viel verstanden.

Demnach heißt es also, das 'aj' dafür sorgt, dass kein Warning zum abort führt und das kein Byte neu alloziierten Speichers mit 0x0 initialisiert wird.
 
Zurück
Oben