Linux 7.0

Linux 7.0

Dopu dui mesi di sviluppu, Linus Torvalds introduttu liberazione di u kernel Linux 7.0Frà i cambiamenti i più notevuli: e regule per l'usu di l'assistenti IA, u spustamentu di Rust in u kernel principale, e prestazioni di swap migliorate, l'attivazione di a modalità PREEMPT_LAZY per difettu, u supportu per i filtri per l'operazioni io_uring, un novu sistema di fugliali Nullfs, l'infrastruttura fserror, i strumenti di monitoraghju XFS, u supportu per a rimappatura in Btrfs, l'attivazione di NFS 4.1 per difettu, l'integrazione di l'algoritmu crittograficu post-quantum ML-DSA, l'attivazione di AccECN in u sottosistema di rete è u supportu iniziale per WiFi 8.

U numeru 7.0 hè statu assignatu perchè a branca 6.x avia accumulatu abbastanza versioni per ghjustificà un cambiamentu à a prima cifra di u numeru di versione (a versione 6.0 hè stata inizialmente publicata dopu à a 5.19). U cambiamentu di numerazione hè fattu per ragioni estetiche è hè un passu formale per alleviare u disagiu causatu da l'accumulazione di un grande numeru di versioni in a serie.

A nova versione incorpora 15624 correzioni da 2477 sviluppatori, cù una dimensione di patch di 56 MB (i cambiamenti anu affettatu 18053 fugliali, aghjunghjendu 704060 linee di codice è eliminendu 278132 linee). A versione precedente includeva 15657 correzioni da 2237 sviluppatori, cù una dimensione di patch di 52 MB. Circa u 51% di tutti i cambiamenti in 7.0 sò ligati à i driver di dispositivi, circa l'11% di i cambiamenti sò ligati à l'aghjurnamenti di u codice specificu per l'architetture hardware, u 14% sò ligati à a pila di rete, u 5% sò ligati à i sistemi di fugliali è u 3% sò ligati à i sottosistemi interni di u kernel.

Novità chjave in u kernel 7.0 (kernelnewbies.org, lwn.net, opennet):

  • Sottosistema di discu, I / O è sistemi di fugliale
    • Infrastruttura fserror implementata è aghjuntu Un'API per recuperà informazioni nantu à l'errori I/O è a corruzzione di i metadati quandu si travaglia cù i fugliali. L'infrastruttura pruposta unifica a trasmissione di l'infurmazioni d'errore à u spaziu utilizatore in i sistemi di fugliali via u mecanismu fsnotify.
    • In XFS aghjustatu Nove capacità per u monitoraghju di a salute di u sistema di fugliali da u spaziu utilizatore. L'operazione ioctl XFS_IOC_HEALTH_MONITOR hè pruposta, chì restituisce un descrittore di fugliali chì pò esse adupratu per ottene informazioni nantu à i fallimenti ligati à a corruzzione di i metadati o à l'errori I/O, è ancu per monitorà i cambiamenti di statu di u sistema di fugliali, cum'è u smontaggio è l'arrestu. Inoltre, hè prupostu un prucessu in background gestitu da systemd, xfs_healer, chì processa l'eventi di salute di u sistema di fugliali da u spaziu utilizatore è li avvia automaticamente se necessariu. prucedure di ricuperazione.
    • U supportu sperimentale per a struttura "remap tree" hè statu aghjuntu à u sistema di fugliali Btrfs (arburu di rimappatura), chì puderia esse adupratu in u futuru cum'è un stratu intermediu per l'operazioni I/O. L'essenza di sta funzione aghjunta hè chì dopu avè spustatu i dati nantu à u discu, invece di aghjurnà tutte e strutture assuciate à questi dati, l'indirizzi di dati vechji è novi sò almacenati in una struttura "remap tree" supplementaria, dopu à quale l'indirizzi sò rimpiazzati quandu si accede à i dati. U novu approcciu hè prumuvutu cum'è più affidabile è flessibile, è simplifica ancu l'espansione futura di a funzionalità Btrfs.
    • In Btrfs implementatu supportu per I/O direttu in situazioni induve a dimensione di u bloccu supera a dimensione di a pagina di memoria di u sistema.
    • Parte inclusu Un novu sistema di fugliali, Nullfs, pò esse adupratu cum'è stub per u sistema di fugliali root. U sistema di fugliali Nullfs hè sempre viotu, ùn cuntene micca dati è ùn supporta micca mudificazioni. U scopu di Nullfs hè di serve cum'è un sistema di fugliali iniziale per simplificà u prucessu d'avviu di u sistema. L'altri sistemi di fugliali sò tandu muntati sopra Nullfs, è a chjama di sistema pivot_root() hè aduprata per cambià u sistema di fugliali root, invece di sguassà u cuntenutu di l'initramfs è aduprà u sistema di fugliali root assuciatu.
    • Implementatu Aghjurnamentu di l'infurmazioni di u tempu di mudificazione di i fugliali in modu senza bloccu. Prima, chjamà file_update_time_flags() cù a bandera IOCB_NOWAIT restituia l'errore -EAGAIN, chì impedia l'usu di operazioni di scrittura diretta in modu senza bloccu.
    • In i sistemi di fugliali, in a categuria di l'opzioni attivate separatamente traduttu supportu per u bloccu di notificazioni (affittu). Stu mecanismu ùn hè più attivatu per difettu per via di prublemi cù i sistemi di fugliali chì ùn sò micca stati cuncipiti in origine per u so usu. Per esempiu, ùn hè micca supportatu da i sistemi di fugliali 9p è cephfs.
    • L'EROFS (Extended Read-Only File System), cuncipitu per esse adupratu nantu à partizioni di sola lettura, usa l'algoritmu di cumpressione LZMA per difettu. DEFLATE è Zstandard, chì ùn sò più marcati cum'è sperimentali, sò dispunibili opzionalmente. L'entrate di a cache di pagina sò avà spartute trà fugliali identichi in sistemi di fugliali EROFS separati.
    • Sguassatu laptop_mode, una modalità di risparmiu energeticu chì differisce è cunsulida e scritture di u discu duru per allargà u tempu di sonnu di u discu è riduce u numeru di svegli. Questa modalità hè diventata obsoleta postu chì i dischi duri sò stati rimpiazzati da unità à statu solidu in i dispositivi mobili muderni.
    • U sistema di fugliali F2FS hè statu cambiatu per aduprà grandi tomi di pagine di memoria (grandi fogli).
    • Rinatu travagliendu nantu à u driver ntfs3, sviluppu da Paragon Software. U supportu per l'operazioni di fugliali basate nantu à iomap hè statu aghjuntu, l'opzioni llseek SEEK_DATA/SEEK_HOLE sò state implementate, è a modalità delalloc per l'allocazione di blocchi ritardata hè stata aghjunta. Intantu, un missaghju hè statu publicatu nantu à a lista di mailing di i sviluppatori di u kernel in ferraghju. appruvatu inclusione di una nova implementazione NTFS in una di e future versioni di u kernel — ntfsplus, sviluppatu per rimpiazzà ntfs3.
    • Per difettu durante l'assemblea inclusu Protocolu NFS versione 4.1 (CONFIG_NFS_V4_1). Secured Bloccà l'esportazione NFS di sistemi di pseudo-file spezializati, cum'è pidfs è nsfs. In NFSD implementatu pussibilità sperimentale di utilizà POSIX ACL è aghjustatu supportu per cambià dinamicamente u pool di fili secondu u caricu.
  • Memoria è servizii di sistema
    • E regule ufficiali sò state appruvate applicazioni di assistenti di IA è l'inclusione in u core cuntenutu generatu automaticamenteQuandu si invia u codice generatu, hè necessariu marcallu cù u tag Assisted-by chì indica l'assistente IA utilizatu. L'assistenti IA sò pruibiti d'aghjunghje u tag Signed-off-by - a persona chì invia u patch hè cunsiderata u so autore, hè rispunsevule di u cambiamentu inviatu è garantisce a so qualità. I ​​sviluppatori sò tenuti à rivedere manualmente u codice generatu da l'IA è verificà chì u risultatu sia conforme à i requisiti di licenza.

    • Supportu di ruggine traduttu da sperimentale à caratteristiche principali di u kernel.

    • Cumplitu integrazione in u core di u mecanismu "Tavula di scambiu", chì migliurà e prestazioni di swap. Questa accelerazione hè ottenuta riducendu a cuntesa per l'accessu à a cache di swap, ricerche di cache più efficienti è frammentazione ridutta. Un backend basatu annantu à a Tabella di Swap hè utilizatu per a memorizazione in cache di swap invece di u backend XArray è hà risultatu in un aumentu di 22% di u numeru di richieste trattate in u redis-benchmark cù BGSAVE.

    • Aggiuntu u supportu per l'estensione introdutta in Clang 22 Analisi di a Sicurezza di i Fili, chì permette a rilevazione in tempu di compilazione di e potenziali cundizioni di corsa è errori causati da una acquisizione di blocchi impropria. L'estensione offre una seria di attributi, cum'è GUARDED_BY(…), REQUIRES(…), RELEASE(…) è ACQUIRE(…), chì permettenu di marcà e funzioni cuperte da blocchi è di separà i scopi di blocchi (definisce u cuntestu). A verificazione in tempu di compilazione di l'usu currettu di primitive di sincronizazione, cum'è i mutex, hè realizata in basa à l'attività o l'inattività di u cuntestu assuciatu.

    • In a chjama di sistema open_tree aghjuntu A bandera OPEN_TREE_NAMESPACE simplifica a cunfigurazione di i cuntainer isolati è accelera l'avviu di i cuntainer nantu à i sistemi cù un gran numeru di punti di muntatura. Simile à OPEN_TREE_CLONE, sta nova bandera copia solu l'arburu di muntatura specificatu, ma invece di un descrittore di file lucale, restituisce un descrittore di file in u novu spaziu di nomi di u puntu di muntatura, in u quale l'arburu copiatu hè muntatu sopra una copia di u sistema di file root reale. A bandera OPEN_TREE_NAMESPACE hè utile per evità l'esecuzione separata di l'operazioni unshare(CLONE_NEWNS) è pivot_root() aduprate durante a creazione di cuntainer.

    • In a chjama di sistema rseq aghjuntu Un mecanismu di estensione di fetta di tempu chì permette di assignà tempu di CPU supplementu per l'esecuzione ininterrotta di una sezione critica. L'idea hè di impedisce à u pianificatore di attività d'interrompe una sezione critica cù un bloccu esistente, ciò chì avaria cum'è risultatu u trasferimentu di cuntrollu à altri fili chì utilizanu a risorsa mentre u bloccu ferma. L'estensione di a fetta di tempu hè ottenuta senza sovraccaricu supplementu, ma ancu senza e garanzie strette furnite da u cuntrollu di priorità cumpleta.

    • Per l'architetture arm64, loongarch, powerpc, riscv, s390 è x86, a modalità di prelazione hè a modalità di pianificazione predefinita. cambiatu da PREEMPT_NONE à PREEMPT_LAZY. Numeru di modi pussibuli abbreviatu Da quattru à dui - PREEMPT_FULL è PREEMPT_LAZY (i modi PREEMPT_NONE è PREEMPT_VOLUNTARY sò riservati solu per l'architetture chì ùn supportanu micca PREEMPT_FULL è PREEMPT_LAZY). U modu PREEMPT_LAZY applica u mudellu di prelazione cumpleta (PREEMPT_FULL) per i compiti in tempu reale (RR/FIFO/DEADLINE), ma ritarda a prelazione di i compiti nurmali (SCHED_NORMAL) finu à u cunfine di u tick. Stu ritardu introduttu porta à una riduzione di u numeru di prelazioni di u detentore di u bloccu, ciò chì permette prestazioni più vicine à e cunfigurazioni chì utilizanu u mudellu di prelazione vuluntaria; vale à dì, PREEMPT_LAZY cunserva e capacità di prelazione cumpleta per i compiti in tempu reale, ma minimizza a penalità di prestazione per i compiti nurmali.

      Attivazione di PREEMPT_LAZY guidatu Una regressione seria chì dimezza e prestazioni di PostgreSQL nantu à i sistemi ARM64. Per risolve u calu di prestazioni, i sviluppatori di PostgreSQL pruposta Attivate l'opzione PR_RSEQ_SLICE_EXTENSION per riduce a probabilità di sfrattu di u titularu di a serratura.

    • Cuntinuatu muvimenti cambiamenti da un ramu Ruggine perLinux, in relazione à l'usu di a lingua Rust cum'è seconda lingua per u sviluppu di driver è moduli di kernel (u supportu Rust ùn hè micca attivu per difettu, è ùn face micca chì Rust sia inclusu in a lista di dipendenze di compilazione obbligatorie per u kernel). Grazie à a biblioteca integrata prima "syn (crates.io)", chì simplifica a scrittura di macro cumplesse, hà riduttu a dimensione di u codice Rust in u kernel simplificendu e definizione di e macro procedurali esistenti. E capacità di u kernel, di e macro è di e biblioteche pin-init sò state allargate.

    • À u sistema di input/output asincronu io_uring aghjustatu opzione per aduprà code di sottumissione non circulari, chì sò memorizate in cache più efficacemente in situazioni induve una dumanda si cumpleta prima di u ritornu di a chjama di sistema.

    • In u sottosistema eBPF, u mecanismu BTF (BPF Type Format), chì furnisce informazioni per a verificazione di u tipu in u pseudocodice BPF, hè utilizatu per truvà informazioni di debugging. implicatu ricerca binaria, chì hà migliuratu l'efficienza di u caricamentu di i prugrammi BPF. In eBPF aghjustatu supportu per argumenti impliciti quandu si chjama kfunc (funzioni di u kernel dispunibili per l'usu in i prugrammi BPF) definite cù a bandera KF_IMPLICIT_ARGS.

    • Sguassatu codice per supportà u discu RAM iniziale (initrd) basatu annantu à linuxrc, chì hè statu longu deprecatu. L'implementazioni rimanenti di initrd sò previste per esse eliminate in u 2027. Initramfs deve esse adupratu invece di initrd (a differenza hè chì initrd mette l'ambiente di avvio iniziale in una maghjina di discu, mentre initramfs u mette in un sistema di fugliali).

    • In un dispusitivu di bloccu zram, utilizatu per u almacenamentu cumpressu di a partizione di swap in memoria, cambiatu Logica per a gestione di e pagine di memoria compresse quandu si movenu opzionalmente i dati in un almacenamentu persistente quandu a RAM dispunibule hè piena. Prima, e pagine di memoria eranu decompresse prima di esse scritte in un almacenamentu fisicu, ma avà sò almacenate cusì cum'è sò in forma compressa, riducendu u caricu di a CPU è risparmiendu energia durante a durata di a batteria.

    • À l'utilità timerlat, cuncipitu per misurà i ritardi quandu si esegue u pianificatore di attività, aghjustatu Opzione --bpf-action per eseguisce prugrammi BPF quandu una soglia specificata hè superata.

    • U sistema di tracciamentu ftrace hà avà una impostazione bitmask-list per a pruduzzione di bitmaschere in un furmatu leggibile (cum'è una lista di bit, micca un numeru esadecimale). E capacità di audit sò state aghjunte à tracefs. filtri и triggers. Aggiuntu U cumandamentu perf sched stats raccoglie è visualizza statistiche nantu à u pianificatore di attività.

    • Aggiuntu L'opzioni di compilazione LOGO_LINUX_MONO_FILE, LOGO_LINUX_VGA16_FILE, è LOGO_LINUX_CLUT224_FILE sò aduprate per specificà un schedariu chì cuntene una maghjina di u logu chì serà visualizata quandu u kernel s'avvia invece di u logu standard di u pinguinu Tux.

  • Virtualizazione è Sicurezza
    • In u sistema d'input/output asincronu io_uring implementatu A capacità di attaccà prugrammi BPF cù filtri chì cuntrolanu ciò chì ponu fà operazioni SQE (Submission Queue Entry) specifiche (simile à e chjame di sistema in io_uring). Questa funzione aghjunta hè analoga à i filtri di chjama di sistema. I filtri ponu esse attaccati à attività specifiche è sò ereditati quandu si crea una bifurcazione di altri prucessi dopu avè chjamatu fork(). Se i filtri sò attivi, i filtri aghjunti sopra ponu solu attaccà restrizioni supplementari, ma micca disattivà quelle esistenti. Questa funzione implementata permetterà di bluccà. методы saltendu u filtraggio di chjamate di sistema in ambienti sandbox, basatu annantu à l'esecuzione di operazioni simili furnite in io_uring invece di chjamate di sistema.
    • In SELinux aghjustatu a capacità di gestisce l'accessu à i gettoni BPF, permettendu prucessi senza privilegi per eseguisce alcune operazioni privilegiate cù BPF, cum'è u caricamentu di prugrammi BPF in u kernel è a creazione strutture di carte.
    • Aggiuntu supportu per l'algoritmu per a generazione di firme digitali ML-DSA (CRYSTALS-Dilithium), basatu annantu à a teoria di i reticoli è resistente à l'adattamentu annantu à un urdinatore quanticu. Fornitu a capacità d'utilizà ML-DSA per autenticà i moduli di u kernel.
    • Sguassatu a capacità d'utilizà schemi di generazione di firme digitale cù l'algoritmu SHA-1 per certificà i moduli di u kernel (u supportu per u caricamentu di moduli firmati hè cunservatu).
    • In l'entrata di audit NETFILTER_PKT aghjustatu campi sport è dport per ispezionà i numeri di portu di rete, micca solu l'indirizzi IP.
    • Per i sistemi cù architettura RISC-V implementatu Supportu per l'estensioni Zicfiss è Zicfilp, chì furniscenu capacità hardware per implementà a prutezzione di Control Flow Integrity (CFI), chì blocca e violazioni di l'ordine nurmale di esecuzione di l'istruzzioni (flussu di cuntrollu) per via di exploit chì modificanu i puntatori di funzione almacenati in memoria.
    • In ipervisore KVM implementatu a capacità di trasmette infurmazioni à i sistemi invitati nantu à u supportu di u processore per l'estensione ERAPS (Enhanced Return Address Predictor Security), chì permette di evità alcune operazioni di reset di u statu di a CPU quandu u sistema invitatu restituisce u cuntrollu à l'ospite. Inoltre, aghjustatu Supportu per l'assignazione di unità di monitoraghju di e prestazioni (PMU) à i sistemi ospiti, chì permette una maggiore precisione di prufilatura paragunata à l'usu di PMU emulati.
    • In u driver per l'ipervisore Hyper-V aghjustatu Supportu per l'interfaccia debugfs per a visualizazione di e statistiche di l'ipervisore.
  • Sottusistema di rete
    • L'estensione AccECN hè attivata per difettu (Notificazione di congestione esplicita precisa), chì implementa una versione migliorata di l'estensione ECN (wikipedia.org), chì permette à l'ospiti di marcà i pacchetti IP in casu di congestione invece di abbandunalli, rendendu pussibule di rilevà l'iniziu di a congestione nantu à i canali di cumunicazione senza perdita di pacchetti. L'estensione ECN originale hà una limitazione di permette solu chì un segnale di congestione sia generatu durante un unicu viaghju di andata è ritornu TCP (RTT, Round-Trip Time, inviu di una dumanda è ricezione di una risposta). AccECN elimina sta limitazione è permette à u ricevitore di trasmette più di un segnale di congestione à u mittente in l'intestazione di u pacchettu TCP. L'algoritmi di cuntrollu di a congestione ponu aduprà sta infurmazione per risponde più precisamente à a congestione è evità di riduce bruscamente a velocità di i pacchetti quandu si verifica una congestione minore.
    • In l'implementazione di l'algoritmu di gestione di coda di rete Torta aghjustatu A capacità di processà parechje code per distribuisce u caricu trà parechji core di CPU. L'algoritmu CAKE hè utilizatu per riduce l'impattu negativu di u buffering di pacchetti intermedi nantu à l'equipaggiu di rete di punta è hà per scopu di ottene u più altu rendimentu pussibule è una latenza minima, ancu nantu à i canali di cumunicazione lenti.
    • In prese VSOCK, adupratu per interagisce cù e macchine virtuali, aghjustatu supportu per i spazii di nomi di rete.
    • Aggiuntu implementazione iniziale di u futuru standard WiFi 8 (802.11 miliardi, WiFi à affidabilità ultra alta).
    • Aggiuntu ottimisazioni chì anu aumentatu e prestazioni di u trattamentu di i pacchetti UDP in entrata di u 12% durante e prove di stress nantu à una rete di 100 Gigabit.
  • Equipment
    • In u driver AMDGPU implementatu supportu Blocchi IP, utilizatu in e nove GPU AMD cum'è SMUIO 15.x, PSP 15.x, IH 6.1.1/7.1, MMHUB 3.4/4.2, GC 11.5.4/12.1, SDMA 6.1.4/7.1/7.11.4 è JPEG 5.3.
    • U driver Nouveau hà migliuratu a gestione di frequenza nantu à i sistemi Tegra 186+.
    • In u driver i915 aghjustatu Supportu iniziale per l'indirizzu IP di visualizazione Xe3p_LPD utilizatu in i processori Intel Nova Lake-P.
    • Cuntinuatu Travaglià nant'à u driver Xe DRM (Direct Rendering Manager) per e GPU basate nant'à l'architettura Intel Xe, chì hè aduprata in e carte grafiche di a famiglia Intel Arc è in e schede grafiche integrate, cuminciendu cù i processori Tiger Lake. Una modalità hè stata aghjunta. Coda Multipla. Aggiuntu Cumponenti necessarii per diagnosticà i blocchi di GPU in Mesa. Aggiuntu Supportu per u mecanismu MERT per a gestione di l'accessu à a memoria GPU.
    • Cuntinuatu Integrazione di i cumpunenti di u driver Nova per e GPU NVIDIA equipate cù u firmware GSP utilizatu dapoi a serie NVIDIA GeForce RTX 2000 basata annantu à a microarchitettura Turing. U driver hè scrittu in Rust. Sta nova versione si prepara per u supportu di e GPU basate annantu à a microarchitettura Turing è include diverse modifiche interne.
    • Aggiuntu supportu per i cuntrolli è i dispositivi periferichi cù una interfaccia SPI (Serial Peripheral Interface) multicanale, chì permette a trasmissione di dati in parechji flussi paralleli.
    • Aggiuntu Driver per connettori Type-C cumminati utilizati nantu à i dispusitivi basati nantu à i chip Apple Silicon è chì combinanu interfacce USB3, DP-AltMode è Thunderbolt/USB4.
    • Aggiuntu u supportu per i sottosistemi sonori di i chip Tegra238, Minisforum V3 SE, iBasso DC04U, Intel Nova Lake, Nova Lake S è Focusrite Forte.
    • Aggiuntu u supportu per e schede ARM, SoC è dispositivi: Arduino UnoQ, OrangePi 6 Plus, OrangePi CM5, Anbernic RG-DS, Realtek Kent, Qualcomm Kaanapali, Mediatek Ezurio, Facebook Anacapa, Microchip LAN9668, Khadas VIM1S, QNAP TS133, i.MX952, i.MX93, i.MX94, VHIP4 EvalBoard, TQ-Systems MBLS1028A, Agilex5, Radxa CM3J, Glymur,
    • Aggiuntu u supportu per i smartphones è e tablette: Fairphone Gen 6 (SoC Qualcomm Milos/Snapdragon 7s Gen 3), Pixel 3/3 xl, Microsoft surface pro 11.

À u listessu tempu, a Fundazione di Software Liberu Latino-Americana furmatu opzione kernel completamente gratuitu 7.0 - Linux-libre 7.0-gnu, pulitu di elementi di firmware è driver chì cuntenenu cumpunenti pruprietarii o sezioni di codice cù scopu limitatu da u fabricatore. A versione 7.0 include una pulizia di blob per u driver iwlwifi. U codice di pulizia per i driver amdgpu, adreno, TI PRUeth, air_en8811h, ath12k, TI VPE, rtw8852b, rt1320, rt5575 SPI, tas2783 è Intel catpt hè statu aggiornatu. I nomi di blob in i fugliali devicetree (dts) per i chip ARM sò stati puliti.

Source: linux.org.ru

Cumprate un hosting affidabile per i siti cù prutezzione DDoS, servitori VPS VDS 🔥 Cumprate un hosting di siti web affidabile cù prutezzione DDoS, servitori VPS VDS | ProHoster