Die Erhöhung der Hauptversionsnummer auf 5 bedeutet nicht, dass es großartige Änderungen oder Komplikationen in der Kompatibilität gibt. Sie hilft einfach unserem teuren Linus Torvalds, seine Ruhe zu bewahren. Nachfolgend finden Sie eine Liste einiger Änderungen und Neuerungen.
Kern des Kernels:
- Der CFS-Prozessplaner funktioniert auf asymmetrischen Prozessoren wie ARM anders – zuerst werden schwächere und energieeffiziente Kerne belastet.
- Über die API zur Überwachung von Dateiereignissen fanotify können Benachrichtigungen über das Öffnen einer Datei zur Ausführung empfangen werden.
- Ein integrierter cpuset-Controller ermöglicht es, Gruppen von Prozessen hinsichtlich CPU- und NUMA-Knoten-Nutzung zu beschränken.
- Es wird Unterstützung für folgende ARM-Geräte geboten: Qualcomm QCS404, Allwinner T3, NXP/Freescale i.MX7ULP, NXP LS1028A, i.MX8, RDA Micro RDA8810PL, Rockchip Gru Scarlet, Allwinner Emlid Neutis N5 und viele andere.
- Verbesserungen im ARM-Subsystem: Hot-Plugging von Speicher, Schutz vor Meltdown und Spectre, 52-Bit-Speicheradressierung usw.
- Unterstützung für die WBNOINVD-Anweisung für x86-64.
Speichersubsystem:
- Für das KASAN-Tool auf ARM64-Plattformen steht eine Einfügung von Prüftags mit geringem Speicherbedarf zur Verfügung.
- Die Speicherfragmentierung wurde drastisch reduziert (um bis zu 90 %), was dazu führt, dass der Mechanismus Transparent HugePage besser funktioniert.
- Die Geschwindigkeit der Arbeit von mremap(2) bei großen Speichermengen wurde um das 20-Fache erhöht.
- Im KSM-Mechanismus wurde jhash2 durch xxhash ersetzt, was dazu führt, dass die Geschwindigkeit von KSM unter 64-Bit-Systemen um das Fünfzehnfache gestiegen ist.
- Verbesserungen in ZRam und OOM.
Blockgeräte und Dateisysteme:
- Der Mechanismus blk-mq mit einem mehrstufigen Anfragesystem ist für Blockgeräte standardmäßig geworden. Alle nicht-mq-Codes wurden entfernt.
- Verbesserungen der NVMe-Unterstützung, insbesondere im Hinblick auf die Nutzung von Geräten über das Netzwerk.
- Für Btrfs wurde eine umfassende Unterstützung für Swap-Dateien sowie die Änderung der FSID ohne Überschreibung der Metadaten implementiert.
- In F2FS wurde ein ioctl-Aufruf für die verzögerte Überprüfung des Dateisystems über fsck hinzugefügt.
- BinderFS wurde integriert – ein Pseudo-Dateisystem für die Interprozesskommunikation. Es ermöglicht das Starten mehrerer Android-Instanzen in einer Umgebung.
- Eine Reihe von Verbesserungen in CIFS: Caching von DFS, erweiterte Attribute, Protokoll smb3.1.1.
- ZRam funktioniert effizienter mit ungenutzten Swap-Geräten und spart Speicher.
Sicherheit und Virtualisierung:
- Eine Hash-Funktion Streebog (ГОСТ 34.11-2012) wurde eingeführt, die vom FSB der RF entwickelt wurde.
- Unterstützung des von Google für energieeffiziente Geräte entwickelten Adiantum-Verschlüsselungsalgorithmus.
- Die Algorithmen XChaCha12, XChaCha20 und NHPoly1305 wurden implementiert.
- Die Verarbeitung von seccomp-Aufrufen kann jetzt in den Benutzermodus verschoben werden.
- Für Gastbetriebssysteme KVM wurde die Unterstützung für Intel Processor Trace-Erweiterungen mit minimalem Leistungsverlust implementiert.
- Verbesserungen im KVM/Hyper-V-Subsystem.
- Der virtio-gpu-Treiber erhielt Unterstützung für die EDID-Simulation für virtuelle Monitore.
- Im virtio_blk-Treiber wurde der Aufruf discard implementiert.
- Sicherheitsfunktionen für NV-Speicher wurden basierend auf den Intel DSM 1.8-Spezifikationen implementiert.
Gerätetreiber:
- Änderungen in der DRM-API für die vollständige Unterstützung von adaptiver Synchronisation (Teil des DisplayPort-Standards) und variablen Bildwiederholfrequenzen (Teil des HDMI-Standards).
- Der Standard Display Stream Compression zur verlustfreien Komprimierung von Video-Streams für hochauflösende Bildschirme wurde hinzugefügt.
- Der AMDGPU-Treiber unterstützt jetzt FreeSync 2 HDR und das Zurücksetzen der Grafikkarte für CI, VI, SOC15.
- Der Intel-Grafiktreiber erhielt Unterstützung für Amber Lake-Chips, die Formate YCBCR 4:2:0 und YCBCR 4:4:4.
- Der Nouveau-Treiber unterstützt nun Videomodi für Grafikkarten der Turing-Familie TU104/TU106.
- Die Treiber für den Raspberry Pi-Touchscreen, CDTech-Panels, Banana Pi, DLC1010GIG und andere wurden integriert.
- Im HDA-Treiber steht die Unterstützung für die 'jack'-Taste, LED-Anzeigen sowie für die Tegra186- und Tegra194-Geräte zur Verfügung.
- Das Eingabesystem hat gelernt, mit hochpräzisem Scrollen auf einigen Microsoft- und Logitech-Mäusen zu arbeiten.
- Eine Vielzahl von Änderungen in Treibern für Webcams, TV-Tuner, USB, IIO und mehr.
Netzwerk-Subsystem:
- Im UDP-Stack wurde die Unterstützung für den zero-copy-Mechanismus zur Datenübertragung über Sockets ohne Zwischenspeicherung implementiert.
- Außerdem wurde der Mechanismus Generic Receive Offload hinzugefügt.
- Die Leistung der Suche in xfrm-Richtlinien mit hoher Anzahl wurde verbessert.
- Im VLAN-Treiber wurde die Möglichkeit der Tunnelentladung hinzugefügt.
- Eine Reihe von Verbesserungen in der Unterstützung von Infiniband und drahtlosen Netzwerken.
Quelle: linux.org.ru
