Linux 6.12 vine cu suport RT, mecanism sched_ext, îmbunătățiri de suport și multe altele

Tux, mascota Linux Kernel-ului

După două luni de dezvoltare, Linus Torvalds a anunțat lansarea nucleului Linux 6.12, versiune în care Se remarcă posibilitatea de a activa modul în timp real, adăugarea lui sched_ext pentru a permite crearea de programatoare CPU folosind eBPF și un mecanism care generează coduri QR in situatii critice.

Linux 6.12 include un total de 14,607 corecții efectuate, Au fost adăugate mai mult de 507,913 linii de cod și eliminând 234,083. Deși patch-ul este mai mic în comparație cu versiunile anterioare, reprezintă o optimizare fără precedent.

Principalele caracteristici noi ale Linux 6.12

Nucleul Linux acum poate fi construit cu opțiunea PREEMPT_RT iintegrat, eliminând necesitatea unor patch-uri externe pentru operarea în timp real. Acest lucru a fost realizat prin includerea suportului în funcția printk. PREEMPT_RT și este disponibil pe arhitecturi precum x86, x86_64, ARM64 și RISC-V.

În compilație, Suportul pentru compilatorul Clang a fost extins la biblioteca standard nolibc, permițând optimizări precum optimizarea timpului de legătură (LTO). Este de asemenea a adăugat un sistem de urmărire a inelului, care reține informațiile de depanare în memorie după reporniri, facilitând analiza post-eșec.

Din partea Rust-for-Linux, aceasta continuă să avanseze cu module noi precum list și rbtree pentru liste legate și arbore roșu-negru. În plus, asistența a fost extinsă în domenii cheie, cum ar fi inițializarea, sincronizarea și tratarea erorilor. Este posibil să compilați nucleul cu Rust menținând în același timp protecții avansate, cum ar fi Spectre și depanare cu KASAN sau kCFI. În plus, a fost integrat un driver Ethernet PHY scris în Rust.

O altă noutate Ceea ce iese în evidență la această nouă versiune a Linux Kernel 6.12 este introducerea mecanism sched_ext (SCX), care vă permite să utilizați eBPF pentru a crea programatoare personalizate pentru CPU. Cu SCX, dezvoltatorii pot proiecta programatori dinamici care optimizează execuția sarcinilor pe baza stării sistemului și a nevoilor specifice ale aplicației, facilitând experimentarea și implementarea strategiilor în mediile de producție.

de asemenea Integrarea serverului SCHED_DEADLINE este finalizată, o solutie mai eficienta pentru a evita monopolizarea CPU prin sarcini cu prioritate ridicată, îmbunătățirea alocării resurselor pentru sarcini cu prioritate scăzută. În plus, programatorul CFS a fost înlocuit cu noul EEVDF (Earliest Eligible Virtual Deadline First), care alocă mai corect resursele procesorului și elimină nevoia de ajustări manuale, reducând întârzierile în sarcinile critice.

Controlerul Panica DRM, responsabil cu gestionarea urgențelor din nucleu, acum puteți afișa un raport vizual cu logo-uri și coduri QR inclusiv date de diagnostic comprimate. Aceste coduri QR facilitează analiza erorilor, permițând utilizatorilor să fie redirecționați către paginile configurate de distribuții pentru a raporta probleme.

Cu privire la ARM, a adăugat suport pentru extensia POE (Extensie de suprapunere a permisiunii), care activează mecanisme precum cheile de protecție a memoriei pentru a restricționa accesul la anumite zone de memorie fără a fi nevoie să modificați tabelele de pagini. În plus, optimizarea apelului de sistem getrandom() folosind vDSO a crescut viteza de generare a numerelor aleatoare de până la 15 ori pe arhitecturile Loongarch, ARM64, PowerPC și s390.

Un noul driver USB permite utilizarea protocolului 9pfs pentru a transfera date între dispozitive USB prin montarea sistemelor de fișiere 9p. Acest lucru este util în special pe dispozitivele încorporate, oferind o alternativă eficientă la NFS pentru pornirea partițiilor rădăcină.

Subsistemul io_uring a adăugat suport pentru timeout-uri absolute, activat la anumite ore pe baza ceasului sistemului. Acest lucru îmbunătățește controlul asupra operațiilor asincrone, oferind o mai mare precizie în execuția acestora.

pentru biblioteca libcpupower, a inclus fișiere de generare a linkurilor folosind SWIG, care permite utilizarea limbilor precum Python pentru a-și extinde funcționalitatea. În plus, utilitatea cpuidle a fost îmbunătățită, care poate măsura acum timpul minim de inactivitate necesar pentru a justifica costurile cu energia de tranziție.

În domeniul rețelelor, o Cele mai notabile îmbunătățiri sunt mecanismul TCP pentru memoria dispozitivului, care permite transferul direct de date între memoria dispozitivelor periferice și rețea fără a trece prin CPU, realizând o eficiență notabilă. În plus, capacitățile numeroaselor controlere Ethernet și WiFi, cum ar fi iwlwifi de la Intel și rtw89 de la RealTek, au fost extinse cu suport suplimentar pentru cipuri WiFi 6 și standarde avansate IEEE. Pentru IPv6, a fost introdusă o nouă funcționalitate pentru a optimiza alocarea adreselor folosind DHCPv6-PD, în timp ce MPTCP a primit îmbunătățiri în rutarea și detectarea pierderilor de trafic.

În suportul hardware, S-a adăugat suport continuu pentru AMD RDNA4 în driverul AMDGPU și îmbunătățiri ale driverului Xe DRM pentru GPU-urile Intel Xe. De asemenea, a fost adăugat Suport pentru procesoare Xeon Granite Rapids și noi platforme ARM, inclusiv SoC Snapdragon X Elite.

În cele din urmă, dacă sunteți interesat să aflați mai multe despre acesta, puteți consulta detaliile în următorul link.