Login
Newsletter
Werbung

Mo, 26. November 2018, 14:27

Software::Kernel

Neuer Linux-STIBP-Patch behebt Geschwindigkeitsprobleme

Thomas Gleixner hat einen überarbeiteten Patch gegen die Auswirkungen von Spectre vorgestellt, der die in Testversionen von Linux 4.20 bemerkten Geschwindigkeitsprobleme behebt.

Larry Ewing

Die erste Vorschau auf Linux 4.20 brachte vor drei Wochen weitere Maßnahmen gegen neue Varianten des katastrophalen Prozessorfehlers Spectre. Dabei wurde auch die STIBP-Funktionalität integriert, die bei Prozessoren mit aktiviertem Hyperthreading davor schützt, dass Prozesse, die im selben Prozessorkern laufen, Informationen des anderen Prozesses auslesen können. Die Änderung wurde so implementiert, dass sie immer aktiv ist, wenn Hyperthreading aktiv ist. Ergebnisse von Benchmark-Messungen wurden keine angegeben.

Durch Benchmarks von Phoronix fiel kurz danach auf, dass die Geschwindigkeit von Linux 4.20 massiv beeinträchtigt war. Anfangs war nicht klar, was die Ursache war, durch nachfolgende Arbeiten wurde dann der STIBP-Patch als Verursacher ermittelt. Da Linux 4.20 noch nicht veröffentlicht ist, waren zunächst keine Benutzer betroffen. Die Patches waren jedoch bereits in die Updates der aktuell gepflegten Kernel-Versionen vom 21. November gelangt. Nachdem die problematischen Auswirkungen erkannt waren, wurden die Änderungen mittlerweile wieder rückgängig gemacht.

Kernel 4.20 wartet zur Zeit noch auf eine Korrektur. Nachdem Linus Torvalds infolge der Probleme zwischenzeitlich gar mit dem Gedanken gespielt hatte, die Änderung für Linux 4.20 ganz zurückzunehmen, sieht es nun stark danach aus, als würde sie in verbesserter Form im Kernel verbleiben. Denn einige Kernel-Entwickler waren trotz der Thanksgiving-Woche nicht untätig und erstellten einen Patch, der die beobachteten Probleme abstellt. Thomas Gleixner stellte jetzt die zweite Version dieses Patches vor, der aus 28 Teilen besteht und von ausgiebigen Erläuterungen der Änderungen begleitet wird. Die hauptsächliche Änderung, die der Patch vornimmt, besteht darin, die STIBP und IBPB-Maßnahmen optional zu machen, so dass Benutzer, die betroffen sind und den zusätzlichen Schutz wünschen, diesen explizit aktivieren müssen. Dazu gibt es eine Kommandozeilenoption, die jetzt spectre_v2_use heißt, und eine Option in prctl, um ausgewählte Prozesse mit diesem Schutzmodus laufen zu lassen. Mit dem Patch wird ferner der bestehende Code optimiert und vereinfacht.

Auch wenn die zugehörige Dokumentation noch aktualisiert werden muss, wird Linus Torvalds diesen Patch voraussichtlich im Lauf der Woche übernehmen. In einem Punkt zeigte sich der Linux-Initiator allerdings noch unzufrieden. Ein Absatz der von Intel übernommenen Dokumentation, der beschreibt, wie STIBP funktioniert, ist seiner Ansicht nach eine »dumme Lüge«. Die Dokumentation sollte stattdessen die tatsächliche Funktionsweise beschreiben. Thomas Gleixner sieht in dem Absatz zwar keine Lüge, räumt aber ein, dass Intel hier verschweige, aus welchem Grund STIBP funktioniert.

Diesem Punkt zum Trotz wird die Änderung wohl in Linux 4.20 erscheinen. Mit der offiziellen Version von Linux 4.20, der wahrscheinlich letzten Ausgabe mit einer 4 an der ersten Stelle der Versionsnummer, kann am 23. Dezember gerechnet werden.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung