• IT-Karriere:
  • Services:

Performance, Testing, BPF

Von Ingo Molnar kommen Updates an dem Analysesystem Perf. So können LSMs (Linux Security Modules) wie SELinux nun den Zugriff auf den perf-Systemaufruf blockieren. Auch die Bibliotheken rund um Perf haben Updates erhalten, etwa die Libperf und Libtraceevent. Eine Liste mit aktualisierten Perf-Werkzeugen liefert die Ankündigung.

Stellenmarkt
  1. HYDRO Systems KG, Biberach
  2. Fraunhofer-Institut für Software- und Systemtechnik ISST, Dortmund

Mit KUnit erhält der Kernel ein leichtgewichtiges Framework für Unit-Tests und Mocking, das sich allerdings nicht für Ende-zu-Ende-Tests eignet. Aktuell lässt es sich nur mit User Mode Linux (UML) und seinen Subsystemen einsetzen, soll aber auf andere Architekturen erweiterbar sein. Bereits Teil des Framework sind drei KUnit-Tests für proc sysctl, doppelt verlinkte Listen und Ext4.

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. Für Linux 5.5 haben die Entwickler einige Änderungen daran durchgeführt.

So darf Kernelcode dank des neu eingeführten BPF-Trampoline praktisch mit Null Overhead auf BPF-Programme zugreifen. Der von Alexej Starowoitof eingeführte Mechanismus wirkt als Verbindung zwischen Kernelcode, einem BPF-Programm und weiteren BPF-Programmen. Das ermöglicht nicht nur ein kostenfreies Tracing, sondern auch das Beobachten von Netzwerk-bezogenen Programmen ohne Extrakosten. Denn das neue und überarbeitete BPF kommt, wie der Name verrät, auch zum Filtern von Netzwerk-Paketen zum Einsatz. Zugleich lassen sich Funktionsargumente des BPF Type Format (BTF) nun mit tatsächlichen Typen vergleichen.

Sysctl entfernt

Eric Biederman hat den sysctl()-Systemaufruf aus dem Kernel entfernt. Man sei an einem Punkt angekommen, an dem niemand mehr den entsprechenden Code im Kernel brauche und aktiviere, heißt es. Übrig bleibt eine Warnung, der Systemaufruf sei veraltet. Sollte sich Biedermans Eindruck als falsch herausstellen, ließe sich der entfernte Code problemlos wieder einfügen.

Der Aufruf von statx() zeigt hingegen künftig auch ein fs-verity-Bit an, was über FS_VERITY_FL läuft. Auf dessen Basis stellen Programme mühelos fest, ob eine Datei ein Verity-File ist, ohne sie dafür explizit öffnen zu müssen. Auch hier zeichnet sich also ein Performance-Gewinn ab.

Auch die Arbeit an clone3() geht weiter. Der Systemaufruf reicht das TLS-Argument über das struct clone_args weiter und nicht über ein Register. Das stört alle Architekturen, die aktuell nicht copy_thread_tls() implementieren, sondern noch CLONE_SETTLS verwenden.

Ein Patch repariert das Problem für alle Architekturen, die clone3() verwenden möchten (laut __ARCH_WANT_SYS_CLONE3). Ebenso stellt ein neuer Check beim Kompilieren sicher, dass künftige Architekturen, die clone3() einführen wollen, auch copy_thread_tls() implementieren.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Kernel: Linux 5.5 bringt Wireguard-UnterbauRISC-V und Multimedia 
  1.  
  2. 1
  3. 2
  4. 3
  5.  


Anzeige
Spiele-Angebote
  1. 3,43€
  2. 15,49€
  3. (u. a. Warhammer 40.000: Mechanicus für 12,99€, Project Highrise für 6,99€, Filament für 9...

zonk 28. Jan 2020

So it is, ich traue mich zwar gerade mal wieder an meinem Notebook auch mit Daten, aber...


Folgen Sie uns
       


    •  /