Original-URL des Artikels: https://www.golem.de/news/dtrace-von-oracle-gcc-bekommt-backend-fuer-linux-kernel-vm-ebpf-1909-143769.html    Veröffentlicht: 10.09.2019 15:30    Kurz-URL: https://glm.io/143769

Dtrace von Oracle

GCC bekommt Backend für Linux-Kernel-VM eBPF

Oracle baut das von Sun übernommene Analysewerkzeug Dtrace mit aktueller Linux-Technik neu. Dazu hat das Team nun ein Compiler-Backend in GCC für die Kernel-VM eBPF erstellt.

Der bei Oracle angestellte Entwickler Jose E. Marchesi hat die Unterstützung von eBPF in die freie Compiler-Sammlung GCC eingepflegt. Bei eBPF handelt es sich um eine mittlerweile fast universell einsetzbare virtuelle Maschine (VM) im Linux-Kernel, die aus dem Berkeley Packet Filter (BPF) hervorgegangen ist. Gemeinsam mit der bereits verfügbaren Portierung der GNU Binutils für eBPF sollten sich nun vergleichsweise einfache C-Programme für eBPF mit den GNU-Werkzeugen erstellen lassen.

Diese Arbeiten sind Teil der Bestrebungen von Oracle, das ursprünglich von Sun übernommene Analysewerkzeug Dtrace auf Grundlage aktueller und moderner Linux-Kernel-Techniken neu zu implementieren. Diese Initiative hatte Oracle im Herbst 2018 angekündigt. Ziel ist es, die bereits vorhandene Kernel-Technik für ein modernes Dtrace nicht zu duplizieren.

Vor rund eineinhalb Jahren hatte Oracle die Lizenz von Dtrace ohne große Ankündigung geändert und unter die GPLv2 gestellt, wohl um kompatibel zur Lizenz des Linux-Kernels zu sein. Aus Sicht des langjährigen ehemaligen Sun- und Oracle-Angestellte Brendan Gregg kam dieser Schritt jedoch Jahre zu spät. Als Begründung verwies der Entwickler darauf, dass eBPF inzwischen deutlich mehr Funktionen biete als das Dtrace-Kernel-Modul.

Wichtig an der Relizenzierung ist laut dem Analysespezialisten Gregg jedoch das Userspace-Frontend. Mit Hilfe der Arbeiten an den GNU Binutils und GCC ist nun eine Portierung der Dtrace-Anwendung zum Ausführen der sogenannten D-Skripte möglich. Gregg hatte angenommen, dass Oracle die bereits für eBPF entstandene Compiler-Sammlung BCC auf Basis von LLVM verwenden würde. Das ist aber offenbar nicht der Fall, so dass es nun zwei C-Compiler für eBPF gibt. Die Interoperabilität dieser Implementierungen ist für Oracle laut der Ankündigungs-E-Mail ein wichtiges Ziel, für das aktiv mit der restlichen Community zusammengearbeitet werden soll.  (sg)


Verwandte Artikel:
Softwareentwicklung: LLVM 8.0 ist live und erfordert neuere Compilerversionen   
(21.03.2019, https://glm.io/140163 )
Tracing: Oracle will Dtrace mit Linux-Technik neu implementieren   
(21.11.2018, https://glm.io/137841 )
Microsoft: Unix-Diagnosewerkzeug Dtrace läuft auf Windows   
(12.03.2019, https://glm.io/139936 )
Systemanalyse: Wie Dtrace auf Linux kommen könnte   
(15.02.2018, https://glm.io/132799 )
Linux: Kernel-Entwickler patzen bei einfachem Spectre-Fix   
(04.09.2019, https://glm.io/143628 )

© 1997–2020 Golem.de, https://www.golem.de/