Linus Torvalds über Spinlocks, Userspace und ZFS

Abseits der Kernel-Mailingliste postet Linus Torvalds gelegentlich in einem Tech-Forum. Dort beantwortete er kürzlich auch Kommentare von Nutzern, etwa zur ersten Regel der Kernelentwicklung und zu Problemen mit ZFS.

Einem längeren Thread lassen sich einige interessante Innenansichten aus der Kernelentwicklung entnehmen. Dieser begann damit, dass Torvalds auf einen Blogpost reagierte, der den Linux-Scheduler und sein Zusammenspiel mit Spinlocks kritisierte. Laut Linus werfe der Autor des Posts aber Dinge durcheinander und messe nicht das, was er zu messen glaube. Spinlocks seien extrem schwierig zu verstehen und zu schreiben und nicht für den Userspace gemacht, er rate dazu, Mutexe zu verwenden.

Ein anderer Nutzer kritisierte in der weiteren Spinlock-Diskussion generell die “Altlasten” von Linux und dass die Kernelbetreiber veraltete Technologien zu zögerlich aussortieren würden. Dem widerspricht Linus: “Don’t break existing users” sei das oberste Gebot in der Kernelentwicklung. Andere Projekte und Distributionen mögen dem widersprechen, aber für das Projekt, das er betreue, könne er sich an dieser Regel orientieren.

Keine Spinlocks im Userspace…

Wenn Windows etwas gut gemacht habe, sei es die Rückwärtskompatibilität und der Support für alte Systeme. Die Linux-Entwickler trennen sich generell nicht leichtfertig von alten Schnittstellen, selbst wenn diese unbequem seien, Ausnahmen bilden fundamentale Sicherheitslücken. Wenn sich der Kernel tatsächlich mal von alten Schnittstellen trenne, sei das ein längerer Prozess mit vielen Warnungen und der Möglichkeit, die Technologie zurückzuholen, sobald sich Nutzer dafür melden. In Bezug auf die Spinlocks bedeute das schlicht: “Verwende keine Spinlocks im User-Modus”.

…und kein ZFS

Ein dank einer Kerneländerung nicht mehr funktionierendes ZFS-Modul nahm ein weiterer Nutzer dann als Anlasse, die oberste Regel zu hinterfragen. Für Linus ist das aber kein Widerspruch: Die oberste Regel betreffe vor allem den Userspace, ZFS sei aber das Kernelmodul eines Drittanbieters. Erst wenn er einen offiziellen Brief von Oracle mit der Erlaubnis erhalte, den Code unter die GPL zu stellen, könne er ZFS in den Kernel integrieren. Bis dahin sei sein Rat: “Don’t use ZFS.” Wenn andere glauben, es sei rechtlich OK, Oracles Code zu verwenden, sei das ihre Entscheidung. Er würde dies aufgrund der rechtlichen Klagen von Oracle in der Vergangenheit nicht tun.

E-Mail Benachrichtigung
Benachrichtige mich zu:
2 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Gelien
6 Jahre her

Der gute Mann heisst Linus Torvalds, nicht “Linux” Torvalds :)

Editor
6 Jahre her
Reply to  Gelien

Danke, der Klassiker, ist gefixt

Nach oben