Login
Newsletter
Werbung

Do, 15. Februar 2018, 14:28

Software::Kernel

Kommt DTrace für den Linux-Kernel?

Oracle hat das Tracing-System DTrace vor einem halben Jahr unter die GPLv2 gestellt, um es lizenzkonform in den eigenen Kernel integrieren zu können. Nachdem Oracle nun also über ein vollständig in Linux integriertes DTrace verfügt, kommen Überlegungen auf, die Portierung auch in den offiziellen Linux-Kernel zu übernehmen.

Larry Ewing

Oracle war durch die Übernahme von Sun auch in den Besitz von Solaris und DTrace gekommen. Schon 2011 hatte das Unternehmen begonnen, DTrace in den Linux-Kernel zu integrieren. Lizenztechnisch war das nur so zu lösen, dass DTrace als Kernel-Modul strikt vom Rest des Kernels getrennt wurde, da DTrace zwar frei war, aber unter der zur GPL nicht kompatiblen CDDL stand. Die gleiche Problematik gibt es immer noch mit ZFS.

Doch am 1. August 2017 änderte Oracle, unbemerkt von den meisten, die Lizenz des freien Tracing-Systems zur GPLv2 und integrierte DTrace vollständig in den Oracle-Linux-Kernel. In dem Commit heißt es, dass der Quellcode an die passenden Stellen innerhalb der Kernel-Quellen verschoben wurde. Die Seite zur Quellcode-Verwaltung von DTrace gibt seither auch die GPLv2 für die Kernel-Quellen an. Die zugehörigen dtrace-utils wurden unter die UPL (Universal Permissive License gestellt, eine MIT-ähnliche freie Lizenz, die laut FSF kompatibel mit der GPL ist. Unter eine duale Lizenz (GPLv2, UPL) wurde libdtrace-ctf gestellt. Die CDDL wurde komplett fallen gelassen. Das im Oktober 2017 erschienene DTrace 0.6.1 steht bereits unter der neuen Lizenz.

Der Entwickler Mark J. Wielaard schreibt in seinem Blog, dass es trotz des Vorliegens des Quellcodes noch ein hartes Stück Arbeit sein wird, DTrace in den offiziellen Kernel zu überführen. Lohnen würde sich das allemal, da die ähnlichen Projekte SystemTap und Dynamic Probes sowie das im Linux-Kernel selbst entstandene Perf-Subsystem trotz aller Fortschritte immer noch deutlich hinter DTrace rangieren und nicht gut miteinander integriert sind. Doch DTrace kann nur dann in den Kernel gelangen, wenn die Arbeit geleistet wird, sich überschneidende Funktionen mit den anderen Subsystemen zu vereinheitlichen und die Änderungen in überschaubare Happen zu zerlegen. Außerdem wäre auch eine Integration mit dem Bytecode-Interpreter eBPF, wünschenswert, der von SystemTap mittels stapbpf genutzt werden kann und noch einmal zahlreiche weitere Möglichkeiten eröffnet. Es ist nicht bekannt, ob bereits jemand diese Arbeit begonnen hat. Sie erfordert ein hohes Maß an Interaktion mit verschiedenen Kernel-Entwicklern und könnte sich über Monate, wenn nicht Jahre hinziehen.

Werbung
Kommentare (Insgesamt: 13 || Alle anzeigen )
Re: Musik (just_teh_happy_people, Di, 20. Februar 2018)
Re[3]: GPL (blablabla233, Mo, 19. Februar 2018)
Re[2]: GPL (blablabla233, Mo, 19. Februar 2018)
Re: @Autor (BSD-Horst, Sa, 17. Februar 2018)
Re: GPL (djaxa, Sa, 17. Februar 2018)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung