Linux 5.19 Kernel Verëffentlechung

No zwee Méint Entwécklung huet de Linus Torvalds d'Verëffentlechung vum Linux Kernel 5.19 presentéiert. Ënnert de bemierkenswäertsten Ännerungen: Ënnerstëtzung fir d'LoongArch Prozessorarchitektur, Integratioun vu "BIG TCP" Patches, On-Demande Modus am fscache, Codeentfernung fir den a.out Format z'ënnerstëtzen, d'Fäegkeet ZSTD fir Firmware Kompressioun ze benotzen, en Interface fir Gestioun vun Erënnerung Eviction vum Benotzerraum, d'Zouverlässegkeet an d'Performance vum pseudo-zoufälleg Zuelengenerator erhéijen, Ënnerstëtzung fir Intel IFS (In-Field Scan), AMD SEV-SNP (Secure Nested Paging), Intel TDX (Trusted Domain Extensions) an ARM SME (Scalable Matrix Extension) Extensiounen.

An der Ukënnegung huet Linus gesot datt héchstwahrscheinlech déi nächst Kernel Verëffentlechung nummeréiert gëtt 6.0, well d'5.x Branche genuch Verëffentlechunge gesammelt huet fir déi éischt Nummer an der Versiounsnummer z'änneren. D'Nummeréierungsännerung gëtt aus ästheteschen Grënn duerchgefouert an ass e formelle Schrëtt deen d'Unerkennung erliichtert wéinst der Akkumulation vun enger grousser Zuel vun Themen an der Serie.

De Linus huet och erwähnt datt hien en Apple Laptop baséiert op der ARM64 Architektur (Apple Silicon) mat engem Linux Ëmfeld baséiert op der Asahi Linux Verdeelung benotzt fir d'Verëffentlechung ze kreéieren. Et ass net dem Linus seng primär Aarbechtsstatioun, awer hien huet d'Plattform benotzt fir seng Gëeegentheet fir Kernelaarbecht ze testen an ze garantéieren datt hien Kernel Verëffentlechungen produzéiere konnt wärend hien mat engem liichte Laptop bei der Hand reest. Virdrun, viru ville Joeren, hat Linus Erfahrung mat Apple Ausrüstung fir Entwécklung - hien huet eemol e PC benotzt baséiert op der ppc970 CPU an engem Macbook Air Laptop.

Déi nei Versioun enthält 16401 Fixer vun 2190 Entwéckler (an der viregter Verëffentlechung waren et 16206 Fixer vun 2127 Entwéckler), d'Patchgréisst ass 90 MB (d'Ännerunge betraff 13847 Dateien, 1149456 Zeilen Code goufen derbäigesat, 349177 goufen geläscht). Ongeféier 39% vun allen Ännerungen, déi am 5.19 agefouert goufen, bezéie sech op Apparat Chauffeuren, ongeféier 21% vun den Ännerungen si mat der Aktualiséierung vum Code spezifesch fir Hardwarearchitekturen bezunn, 11% si mat dem Netzwierkstack bezunn, 4% si mat Dateiesystemer bezunn, an 3% si verbonne mat internen Kernel-Subsystemer.

Haaptinnovatiounen am Kernel 5.19:

  • Disk Subsystem, I/O an Dateisystemer
    • Den EROFS (Enhanced Read-Only File System) Dateiesystem, geduecht fir op read-only Partitionen ze benotzen, gouf ëmgewandelt fir de fscache-Subsystem ze benotzen, deen Datencaching ubitt. D'Ännerung huet d'Performance vu Systemer wesentlech verbessert, an deenen eng grouss Zuel vu Container aus engem EROFS-baséiert Bild lancéiert gëtt.
    • En On-Demande Liesmodus gouf zum fscache Subsystem bäigefüügt, dee benotzt gëtt fir EROFS ze optimiséieren. Den neie Modus erlaabt Iech d'Liescaching vu FS-Biller am lokalen System ze organiséieren. Am Géigesaz zum ursprénglech verfügbaren Operatiounsmodus, deen sech op Cache am lokalen Dateiesystem vun Daten iwwer Netzdateisystemer konzentréiert ass, delegéiert den "on-demand" Modus d'Funktioune fir d'Donnéeën z'erhalen an se an de Cache op eng getrennt ze schreiwen. Hannergrondprozess am Benotzerraum leeft.
    • XFS bitt d'Fäegkeet fir Milliarden erweiderten Attributer an engem i-Node ze späicheren. Déi maximal Unzuel vun Ausmooss fir ee Fichier gouf vun 4 Milliarden op 247 erhéicht. E Modus gouf implementéiert fir e puer erweidert Dateiattribute gläichzäiteg ze aktualiséieren.
    • De Btrfs Dateisystem huet d'Aarbecht mat Sperren optimiséiert, wat eng Erhéijung vun der Leeschtung vun ongeféier 7% erlaabt huet wann Dir direkt am Nowait Modus schreift. D'Performance vun den Operatiounen am NOCOW Modus (ouni Copy-on-Write) gëtt ëm ongeféier 3% erhéicht. D'Laascht op de Säit Cache beim Laafen vum Kommando "Send" gouf reduzéiert. D'Mindestgréisst vun Ënnersäite gouf vu 64K op 4K reduzéiert (Ënnersäite méi kleng wéi Kernel Säiten kënne benotzt ginn). En Iwwergank gouf gemaach vum Gebrauch vun engem Radixbaum zum XArrays Algorithmus.
    • E Modus gouf op den NFS-Server bäigefüügt fir d'Erhaalung vum Sperrzoustand ze verlängeren, dee vun engem Client festgeluecht gouf, deen op Ufroe geäntwert huet. Den neie Modus erlaabt Iech d'Spär Clearing bis zu engem Dag ze verzögeren, ausser wann en anere Client e konkurréiere Spär freet. Am normale Modus gëtt d'Blockéierung geläscht 90 Sekonnen nodeems de Client ophält ze reagéieren.
    • Den Event Tracking Subsystem am fanotify FS implementéiert de FAN_MARK_EVICTABLE Fändel, mat deem Dir Pinning Zil-I-Noden am Cache deaktivéiere kënnt, zum Beispill, Ënnerbranche ignoréieren ouni hir Deeler am Cache ze pinnen.
    • De Chauffer fir de FAT32 Dateisystem huet Ënnerstëtzung bäigefüügt fir Informatioun iwwer d'Zäit vun der Dateikreatioun duerch de statx System Uruff ze kréien mat der Ëmsetzung vun enger méi effizienter a funktionneller Versioun vu stat (), déi verlängert Informatioun iwwer d'Datei zréckginn.
    • Bedeitend Optimisatiounen goufen dem exFAT Chauffer gemaach fir gläichzäiteg Clearing vun enger Grupp vu Secteuren z'erméiglechen wann den 'Dirsync' Modus aktiv ass, anstatt sequentiell Secteur-vun-Sektor Clearing. Duerch d'Reduktioun vun der Unzuel vu Blockufroen no der Optimisatioun ass d'Performance vun der Schafung vun enger grousser Zuel vu Verzeechnes op der SD Kaart ëm méi wéi 73-85% eropgaang, ofhängeg vun der Clustergréisst.
    • De Kernel enthält den éischte Korrekturaktualiséierung vum ntfs3 Treiber. Zënter datt ntfs3 am 5.15 Kernel am leschte Oktober abegraff ass, ass de Chauffer net aktualiséiert ginn an d'Kommunikatioun mat den Entwéckler ass verluer gaangen, awer d'Entwéckler hunn elo d'Verëffentlechungsännerungen erëm opgeholl. Déi proposéiert Patches eliminéiert Feeler, déi zu Erënnerungslecks a Crashen féieren, Problemer mat der Ausféierung vun xfstests geléist, net benotzte Code gebotzt a fixe Schreiffehler.
    • Fir OverlayFS ass d'Kapazitéit fir d'Benotzer IDs vu montéierte Dateiesystemer ze mapen ëmgesat ginn, wat benotzt gëtt fir d'Dateien vun engem spezifesche Benotzer op enger montéierter auslännescher Partition mat engem anere Benotzer am aktuelle System ze passen.
  • Erënnerung a System Servicer
    • Zousätzlech Ënnerstëtzung fir d'LoongArch Instruktiounsset Architektur, déi an de Loongson 3 5000 Prozessoren benotzt gëtt, déi den neie RISC ISA implementéiert, ähnlech wéi MIPS a RISC-V. D'LoongArch Architektur ass an dräi Goûten verfügbar: ofgeschnidden 32-Bit (LA32R), regelméisseg 32-Bit (LA32S), a 64-Bit (LA64).
    • Code geläscht fir den a.out ausführbare Dateiformat z'ënnerstëtzen, deen an der Verëffentlechung 5.1 ofgeschaaft gouf. D'a.out Format ass laang op Linux Systemer ofgeschaaft ginn, an d'Generatioun vun a.out Dateien gëtt net vun modernen Tools a Standard Linux Konfiguratiounen ënnerstëtzt. De Loader fir a.out Dateien ka ganz am Benotzerraum ëmgesat ginn.
    • Ënnerstëtzung fir x86-spezifesch Bootoptiounen gouf gestoppt: nosp, nosmap, nosmep, noexec an noclflush).
    • Ënnerstëtzung fir déi al CPU h8300 Architektur (Renesas H8 / 300), déi laang ouni Ënnerstëtzung gelooss gouf, gouf gestoppt.
    • Erweidert Fäegkeeten am Zesummenhang mat der Reaktioun op d'Erkennung vu gesplécktem Sperren ("Split Spären"), déi optrieden wann Dir Zougang zu unalignéierten Donnéeën an der Erënnerung kritt, wéinst der Tatsaach datt wann Dir eng Atominstruktioun ausféiert, d'Donnéeën zwou CPU-Cachelinnen iwwerschreiden. Esou Blockade féieren zu engem wesentleche Réckgang vun der Leeschtung. Wann virdru, par défaut, de Kernel eng Warnung mat Informatioun iwwer de Prozess erausginn deen d'Blockéierung verursaacht huet, gëtt elo de problematesche Prozess weider verlangsamt fir d'Leeschtung vum Rescht vum System ze erhaalen.
    • Zousätzlech Ënnerstëtzung fir den IFS (In-Field Scan) Mechanismus, deen an Intel Prozessoren implementéiert ass, wat Iech erlaabt Low-Level CPU Diagnostesch Tester auszeféieren, déi Probleemer identifizéieren déi net duerch Standard Tools op Basis vu Fehlerkorrekturcoden (ECC) oder Paritéitbits festgestallt ginn. . D'Tester duerchgefouert sinn a Form vun eroflueden Firmware, entworf ähnlech ze Mikrocode Aktualiséierungen. Testresultater sinn iwwer sysfs verfügbar.
    • D'Fähigkeit bäigefüügt fir eng Bootconfig-Datei an de Kernel z'integréieren, wat et erlaabt, zousätzlech zu Kommandozeiloptiounen, d'Parameter vum Kernel duerch eng Astellungsdatei ze bestëmmen. Embedding gëtt mat der Versammlungsoptioun 'CONFIG_BOOT_CONFIG_EMBED_FILE=»/PATH/TO/BOOTCONFIG/FILE»' duerchgefouert. Virdrun gouf Bootconfig bestëmmt andeems se un d'initrd Bild befestegt ginn. Integratioun an de Kernel erlaabt Bootconfig a Konfiguratiounen ouni Initrd ze benotzen.
    • D'Kapazitéit fir Firmware kompriméiert mam Zstandard Algorithmus erofzelueden gouf implementéiert. E Set vu Kontrolldateien /sys/class/firmware/* gouf op sysfs bäigefüügt, wat Iech erlaabt Firmware Luede vum Benotzerraum ze initiéieren.
    • D'io_uring asynchrone I/O Interface bitt en neie Fändel, IORING_RECVSEND_POLL_FIRST, deen, wann se agestallt ass, fir d'éischt eng Netzwierkoperatioun schéckt fir mat Polling ze veraarbecht ginn, wat Ressourcen spuere kann an Situatiounen wou d'Veraarbechtung vun der Operatioun mat e puer Verspéidung akzeptabel ass. io_uring huet och Ënnerstëtzung fir de Socket () System Uruff bäigefüügt, nei Fändelen proposéiert fir d'Gestioun vun de Dateideskriptoren ze vereinfachen, e "Multi-Shot" Modus bäigefüügt fir e puer Verbindungen gläichzäiteg am Akzeptéieren () Uruff ze akzeptéieren, an Operatiounen bäigefüügt fir NVMe weiderzebréngen Kommandoen direkt op den Apparat.
    • D'Xtensa Architektur bitt Ënnerstëtzung fir de KCSAN (Kernel Concurrency Sanitizer) Debugging Tool, entwéckelt fir dynamesch Rennbedéngungen am Kärel z'entdecken. Och bäigefüügt Ënnerstëtzung fir Schlofmodus a Koprozessoren.
    • Fir d'm68k Architektur (Motorola 68000) ass eng virtuell Maschinn (Plattformsimulator) baséiert op dem Android Goldfish Emulator implementéiert ginn.
    • Fir d'AARch64 Architektur ass Ënnerstëtzung fir Armv9-A SME (Scalable Matrix Extension) Extensiounen ëmgesat ginn.
    • Den eBPF Subsystem erlaabt getippten Zeecher a Kaartstrukturen ze späicheren, a füügt och Ënnerstëtzung fir dynamesch Pointer.
    • En neie proaktiven Erënnerungsmechanismus gëtt proposéiert deen d'Benotzerraumkontrolle mat der Memory.reclaim Datei ënnerstëtzt. Eng Nummer op déi spezifizéierter Datei ze schreiwen wäert probéieren déi entspriechend Zuel vu Bytes aus dem Set, deen mat der cgroup assoziéiert ass, ze evitéieren.
    • Verbesserte Genauegkeet vun der Erënnerungsverbrauch beim Kompriméiere vun Daten an der Swap-Partition mam zswap-Mechanismus.
    • Fir d'RISC-V Architektur gëtt Ënnerstëtzung fir 32-Bit Ausführbaren op 64-Bit Systemer ze lafen, e Modus gëtt bäigefüügt fir restriktiv Attributer un Erënnerungssäiten ze binden (zum Beispill fir de Caching auszeschalten), an d'Kexec_file_load() Funktioun gëtt implementéiert .
    • D'Ëmsetzung vun der Ënnerstëtzung fir 32-Bit Armv4T an Armv5 Systemer ass adaptéiert fir ze benotzen an universell Multi-Plattform Kernel baut gëeegent fir verschidden ARM Systemer.
  • Virtualiséierung a Sécherheet
    • Den EFI-Subsystem implementéiert d'Fäegkeet fir geheim Informatioun op Gaaschtsystemer vertraulech ze transferéieren ouni et dem Hostsystem ze verëffentlechen. D'Donnéeë ginn duerch de Sécherheets-/Coco-Verzeichnis an securityfs geliwwert.
    • De Lockdown Schutzmodus, deen de Root Benotzer Zougang zum Kernel beschränkt an UEFI Secure Boot Bypass Weeër blockéiert, huet e Schleifen eliminéiert, deen de Schutz ëmgoe konnt andeems de Kernel Debugger manipuléiert gëtt.
    • Abegraff sinn Patches fir d'Zouverlässegkeet an d'Leeschtung vum pseudo-zoufälleg Zuel Generator ze verbesseren.
    • Wann Dir baut mat Clang 15, gëtt Ënnerstëtzung fir de Mechanismus fir d'Kernelstrukturen randomiséiert.
    • De Landlock-Mechanismus, deen Iech erlaabt d'Interaktioun vun enger Grupp vu Prozesser mat dem externen Ëmfeld ze limitéieren, bitt Ënnerstëtzung fir Regelen, déi Iech erlaben d'Ausféierung vun de Dateiebenennungsoperatiounen ze kontrolléieren.
    • Den IMA (Integrity Measurement Architecture) Subsystem, entworf fir d'Integritéit vun de Betribssystemkomponenten ze verifizéieren mat digitalen Ënnerschrëften an Hashes, gouf op de fs-verity Modul fir Dateieverifizéierung gewiesselt.
    • D'Logik vun den Aktiounen beim Desaktivéiere vum onprivilegéierten Zougang zum eBPF-Subsystem gouf geännert - virdru goufen all Kommandoen, déi mam bpf () Systemruff verbonne sinn, behënnert, a vun der Versioun 5.19 un ass den Zougang zu Kommandoen, déi net zu der Schafung vun Objekter féieren, verlooss. . Dëst Verhalen erfuerdert e privilegiéierte Prozess fir e BPF Programm ze lueden, awer da kënnen onprivilegéierte Prozesser mam Programm interagéieren.
    • Ënnerstëtzung bäigefüügt fir d'AMD SEV-SNP (Secure Nested Paging) Extensioun, déi sécher Aarbecht mat Nested Memory Page Tabellen ubitt a schützt géint "undeSErVed" an "SEVerity" Attacken op AMD EPYC Prozessoren, déi den AMD SEV (Secure Encrypted Virtualization) ëmgoen. ) Schutzmechanismus.
    • Zousätzlech Ënnerstëtzung fir den Intel TDX (Trusted Domain Extensions) Mechanismus, deen Iech erlaabt Drëtt Partei Versich ze blockéieren fir Zougang zu der verschlësselter Erënnerung vu virtuelle Maschinnen ze kréien.
    • De Virtio-blk Chauffer, benotzt fir Blockapparaten ze emuléieren, huet Ënnerstëtzung fir I/O mat Hëllef vun Polling bäigefüügt, wat, laut Tester, d'Latenz ëm ongeféier 10% reduzéiert huet.
  • Netzwierk Subsystem
    • De Package enthält eng Serie vu BIG TCP Patches, déi Iech erlaben d'maximal Paketgréisst vun engem TCP Paket op 4GB ze erhéijen fir d'Operatioun vun High-Speed-internen Datenzenternetzwierker ze optimiséieren. Eng ähnlech Erhéijung vun der Paketgréisst mat enger 16-Bit Header Feldgréisst gëtt duerch d'Ëmsetzung vun "Jumbo" Päck erreecht, d'Gréisst am IP Header vun deem op 0 gesat ass, an déi aktuell Gréisst gëtt an engem separaten 32-Bit iwwerdroen. Feld an engem separaten verbonnen Header. Beim Leeschtungstestung huet d'Paketgréisst op 185 KB gesat, erhéicht den Duerchgang ëm 50% a wesentlech reduzéiert Datentransferlatenz.
    • D'Aarbecht ass weidergaang fir Tools an den Netzwierkstack z'integréieren fir d'Grënn ze verfolgen fir Pakete (Grënncoden) ze falen. De Grondcode gëtt geschéckt wann d'Erënnerung, déi mam Paket assoziéiert ass, befreit ass an erlaabt Situatiounen wéi Paket ewechzegeheien wéinst Headerfehler, rp_filter Spoofing Detektioun, ongëlteg Checksum, aus Erënnerung, IPSec XFRM Regelen ausgeléist, ongëlteg Sequenznummer TCP, etc.
    • Ënnerstëtzung bäigefüügt fir MPTCP (MultiPath TCP) Verbindungen zréckzefalen fir regelméisseg TCP ze benotzen, a Situatiounen wou verschidde MPTCP Funktiounen net benotzt kënne ginn. MPTCP ass eng Ausdehnung vum TCP Protokoll fir d'Organisatioun vun der Operatioun vun enger TCP Verbindung mat der Liwwerung vu Päck gläichzäiteg laanscht verschidde Strecken duerch verschidden Netzwierkschnëttplazen verbonne mat verschiddene IP Adressen. API bäigefüügt fir MPTCP Streams vum Benotzerraum ze kontrolléieren.
  • Ausrüstung
    • Zousätzlech iwwer 420k Zeilen vum Code am Zesummenhang mam amdgpu Chauffer bäigefüügt, vun deenen ongeféier 400k Linnen automatesch generéiert Headerdateien fir ASIC Registerdaten am AMD GPU Chauffer sinn, an eng aner 22.5k Linnen bidden eng initial Implementéierung vun der Ënnerstëtzung fir den AMD SoC21. D'total Gréisst vum AMD GPU Chauffer iwwerschratt 4 Millioune Linnen Code. Zousätzlech zu SoC21 enthält den AMD Treiber Ënnerstëtzung fir SMU 13.x (System Management Unit), aktualiséiert Ënnerstëtzung fir USB-C a GPUVM, a Virbereedunge fir déi nächst Generatioune vu RDNA3 (RX 7000) an CDNA (AMD Instinct) Plattformen z'ënnerstëtzen. .
    • Den i915 Chauffer (Intel) huet erweidert Fäegkeeten am Zesummenhang mat Power Management. Zousätzlech Identifizéierer fir Intel DG2 (Arc Alchemist) GPUs benotzt op Laptops, hunn initial Ënnerstëtzung fir d'Intel Raptor Lake-P (RPL-P) Plattform geliwwert, Informatioun iwwer Arctic Sound-M Grafikkaarte bäigefüügt), implementéiert ABI fir Rechenmotoren, bäigefüügt fir DG2 Kaarten Ënnerstëtzung fir den Tile4 Format; fir Systemer baséiert op der Haswell Mikroarchitektur, DisplayPort HDR Support ass implementéiert.
    • Den Nouveau Chauffer ass gewiesselt fir den drm_gem_plane_helper_prepare_fb Handler ze benotzen; statesch Erënnerungsallokatioun gouf op e puer Strukturen a Variablen applizéiert. Wat d'Benotzung vu Kernelmoduler Open Source vun NVIDIA am Nouveau ugeet, ass d'Aarbecht bis elo erofgaang fir Feeler z'identifizéieren an ze eliminéieren. An Zukunft ass déi publizéiert Firmware geplangt fir d'Performance vum Chauffer ze verbesseren.
    • En Treiber bäigefüügt fir den NVMe Controller deen an Apple Computeren baséiert op dem M1 Chip benotzt gëtt.

Zur selwechter Zäit huet d'Latäinamerikanesch Free Software Foundation eng Versioun vum komplett gratis Kernel 5.19 geformt - Linux-libre 5.19-gnu, geläscht vun Elementer vun der Firmware a Chauffeuren déi net-gratis Komponenten oder Sektiounen vum Code enthalen, den Ëmfang vun deem ass vum Hiersteller limitéiert. Déi nei Verëffentlechung botzt d'Treiber fir pureLiFi X/XL/XC an TI AMx3 Wkup-M3 IPC. Aktualiséiert Blob Reinigungscode an Silicon Labs WFX, AMD amdgpu, Qualcomm WCNSS Peripheral Image Loader, Realtek Bluetooth, Mellanox Spectrum, Marvell WiFi-Ex, Intel AVS, IFS, pu3-imgu Treiber an Ënnersystemer. D'Veraarbechtung vu Qualcomm AArch64 devicetree Dateien gouf implementéiert. Zousätzlech Ënnerstëtzung fir den neie Sound Open Firmware Komponent Numm Schema. Gestoppt d'Botzen vum Geldautomaten Ambassadeur Chauffer, deen aus dem Kär geläscht gouf. D'Gestioun vu Blob-Botzen an HDCP a Mellanox Core gouf geplënnert fir kconfig-Tags ze trennen.

Source: opennet.ru

Setzt e Commentaire