{"id":139749,"date":"2025-07-28T17:11:54","date_gmt":"2025-07-28T15:11:54","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-yadra-linux-6-16"},"modified":"2025-07-28T17:11:54","modified_gmt":"2025-07-28T15:11:54","slug":"reliz-yadra-linux-6-16","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-6-16","title":{"rendered":"Rilascio del kernel Linux 6.16","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dopo due mesi di sviluppo, Linus Torvalds ha presentato il rilascio del kernel Linux 6.16. Tra le modifiche pi\u00f9 significative ci sono: un driver per accelerare OpenVPN, il meccanismo Kexec HandOver, l'attivazione per impostazione predefinita delle tabelle delle pagine di memoria a cinque livelli per x86, la rimozione del protocollo DCCP, un driver a blocchi zloop, la possibilit\u00e0 di inviare core dump tramite socket UNIX, supporto per la scrittura atomica in XFS, elaborazione offload dell'audio per dispositivi USB, ottimizzazioni in Ext4, un driver virtuale TPM (Trusted Platform Module), implementazione completa di Device Memory TCP, supporto per pipe non nominate in io_uring, preparazione per l'integrazione del driver DRM di Asahi, meccanismo \"usermode queue\" nel driver AMDGPU, supporto per Intel TDE (Trusted Domain Extensions) e Intel APE (Advanced Performance Extensions).    <\/p>\n<p>Nella nuova versione sono stati accettati 15924 correttivi da 2145 sviluppatori, la dimensione della patch \u00e8 di 50 MB (le modifiche hanno interessato 13793 file, aggiunte 655451 righe di codice, rimosse 316441 righe). Nella versione precedente c'erano 15945 correttivi da 2154 sviluppatori, la dimensione della patch era di 59 MB. Circa il 45% di tutte le modifiche presentate in 6.16 riguardano i driver dei dispositivi, circa il 16% delle modifiche \u00e8 relativo all'aggiornamento del codice specifico per le architetture hardware, il 13% \u00e8 collegato allo stack di rete, il 4% ai file system e il 3% ai sottosistemi interni del kernel.       <\/p>\n<p>Novit\u00e0 principali nel kernel 6.16:  <\/p>\n<ul>\n<li class=\"l\"> <b>Sottosistema di disco, input\/output e file system<\/b>\n<ul>\n<li class=\"l\"> \u00c8 stato aggiunto il driver zloop per la creazione di dispositivi loopback a blocchi zonati, montabili in modalit\u00e0 loop. Il driver emula il funzionamento di normali dispositivi a blocchi, utilizzando diversi file da un file system esistente (uno per l'archiviazione di ciascuna zona). Questa funzionalit\u00e0 pu\u00f2 essere utile per testare file system, gestori di device mapper e applicazioni per verificare il supporto di dispositivi zonati che applicano la suddivisione in zone di gruppi di blocchi o settori, dove \u00e8 consentito solo l'aggiunta sequenziale di dati con l'aggiornamento dell'intero gruppo di blocchi.\n<li class=\"l\"> Nel file system XFS \u00e8 stata implementata la supporto per la scrittura atomica di grandi porzioni di dati: ora possono essere scritti in modalit\u00e0 atomica pi\u00f9 blocchi (o tutti i blocchi saranno scritti correttamente, oppure nessun blocco sar\u00e0 scritto).\n<li class=\"l\"> Nel file system Ext4 \u00e8 stata migliorata la performance del meccanismo \"fast commit\". \u00c8 stato aggiunto il supporto per grandi folii di pagine di memoria (large folios) per file normali, il che ha aumentato la performance del 37% nei test effettuati durante operazioni di Input\/Output sequenziale intensivo. \u00c8 stato aggiunto il supporto per operazioni di scrittura atomica che coprono pi\u00f9 blocchi.\n<li class=\"l\"> Nel driver per il file system ext2 \u00e8 stata dichiarata obsoleta la supporto del meccanismo DAX, che garantiva l'accesso diretto al FS bypassando la cache delle pagine. \u00c8 prevista l'eliminazione di DAX dal driver ext2 entro la fine dell'anno. Come motivo viene citata la considerazione del driver ext2 come implementazione di riferimento stabile, nella quale non \u00e8 ammissibile l'uso di funzionalit\u00e0 specifiche che non hanno ottenuto sufficiente diffusione.\n<li class=\"l\"> I file system OrangeFS, UFS, BFS e OMFS sono stati convertiti per utilizzare la nuova API di montaggio delle partizioni.\n<li class=\"l\"> Nel sysctl \u00e8 stata aggiunta l'impostazione vfs_cache_pressure_denom, per gestire il numero di voci nella cache \"dentry\" (rappresentazione interna degli elementi delle directory) in condizioni di scarsit\u00e0 di memoria nel sistema. Pi\u00f9 alto \u00e8 il valore impostato, maggiore sar\u00e0 il numero di voci che possono essere espulse dalla cache (meno voci rimarranno nella cache) in condizioni di scarsit\u00e0 di memoria.\n<li class=\"l\"> Nel file system Bcachefs \u00e8 stata aggiunta l'opzione &#171;rebalance_on_ac_only&#187;, che vieta l'esecuzione delle operazioni di bilanciamento e compressione in background quando il sistema \u00e8 alimentato da batterie. Le operazioni di eliminazione di snapshot e dispositivi sono state accelerate. \u00c8 stata ridotta l'uso della memoria durante il montaggio in modalit\u00e0 di sola lettura. \u00c8 stata aggiunta la possibilit\u00e0 di avviare alcune operazioni di ripristino dopo un guasto in background, senza interrompere l'uso del file system.\n<li class=\"l\"> Al sottosistema di gestione dell'alimentazione \u00e8 stato permesso di eseguire autonomamente il congelamento dei file system e delle variabili EFI per le modalit\u00e0 di attesa e sospensione (se i FS sono gi\u00e0 stati congelati dal gestore nello spazio utente, non viene effettuato un secondo congelamento).\n<li class=\"l\"> \u00c8 stata aggiunta la possibilit\u00e0 di accelerare il funzionamento di EROFS con l'acceleratore QAT (QuickAssist Technology) integrato nei processori Intel, che offre strumenti per velocizzare i calcoli legati alla compressione e crittografia.\n<li class=\"l\"> In NFS \u00e8 stato aumentato da 1 a 4 MB il massimo dimensione del pacchetto di dati per le operazioni di lettura e scrittura (il valore predefinito \u00e8 impostato a 1 MB, poich\u00e9 non tutti i client supportano dimensioni maggiori).\n<li class=\"l\"> Agli utenti non privilegiati che hanno diritti CAP_SYS_ADMIN in uno spazio dei nomi degli identificatori utente (user namespace), ma non hanno diritti avanzati nello spazio dei nomi principale, \u00e8 stata concessa la possibilit\u00e0 di utilizzare il meccanismo fanotify per monitorare le modifiche nelle filesystem.\n<li class=\"l\"> Per i filesystem che utilizzano il sottosistema FUSE, \u00e8 stata fornita la funzionalit\u00e0 per pulire contemporaneamente tutte le registrazioni di directory (dentries) memorizzate nella cache. \u00c8 stata aggiunta al sottosistema FUSE la supporto per grandi volumi di pagine di memoria.\n<li class=\"l\"> Nel filesystem OverlayFS \u00e8 stata realizzata la supporto per la creazione in spazi dei nomi non privilegiati di livelli di dati, per i quali viene utilizzato il controllo di integrit\u00e0 basato sul modulo dm-verity. Questa possibilit\u00e0 consente di combinare livelli di metadati fidati con livelli di dati non fidati, gestiti in spazi dei nomi non privilegiati.                      <\/ul>\n<li class=\"l\"> <b>Memoria e servizi di sistema<\/b>\n<ul>\n<li class=\"l\"> \u00c8 stato aggiunto il meccanismo KHO (Kexec HandOver) per avviare un nuovo kernel da uno vecchio senza perdita di stato del sistema. Prima di trasferire il controllo alla nuova versione del kernel, lo stato delle principali sottosistemi del kernel pu\u00f2 essere serializzato in un'area di memoria che non sar\u00e0 influenzata da ulteriori operazioni. Il nuovo kernel, una volta ottenuto il controllo, ripristina lo stato serializzato. Sulla base di KHO, viene sviluppato il sottosistema Live Update Orchestrator (LUO), che consente il riavvio del kernel senza interrompere il funzionamento dei dispositivi.\n<li class=\"l\"> \u00c8 stato aggiunto il parametro di compilazione del kernel CONFIG_X86_NATIVE, che consente di utilizzare durante la compilazione l'opzione &#171;-march=native&#187; per ottimizzare in base alle capacit\u00e0 del processore del sistema attuale.\n<li class=\"l\"> \u00c8 stata aggiunta la supporto per l'estensione dell'architettura dell'insieme di istruzioni Intel APX (Advanced Performance Extension), fornendo 16 registri generali aggiuntivi (in aggiunta ai 16 esistenti), permettendo di utilizzare nel codice meno operazioni di lettura e scrittura in memoria per migliorare le prestazioni e ridurre il consumo energetico.\n<li class=\"l\"> \u00c8 stata aggiunta una modalit\u00e0 di auto-tuning della politica di distribuzione della memoria nei sistemi NUMA, in cui tutti i pesi dei nodi vengono ricalcolati quando compare una nuova informazione sulla larghezza di banda durante il caricamento o durante il collegamento a caldo della memoria.\n<li class=\"l\"> Nell'implementazione dei futex \u00e8 stata introdotta la supporto per la tabella hash locale dei processi (local futex_hash_bucket), che a differenza della tabella hash globale precedentemente supportata per tutti i processi, \u00e8 locale per un singolo processo e condivisa da tutti i thread di quel processo. Le tabelle hash locali vengono utilizzate esclusivamente per l'operazione futex PROCESS_PRIVATE. Inoltre, nella nuova versione \u00e8 stata aggiunta la supporto per le opzioni FUTEX2_NUMA e FUTEX2_MPOL, che permettono di influenzare la collocazione dei futex in memoria, avvicinandoli ai processi che li utilizzano.\n<li class=\"l\"> Per i sistemi x86_64 \u00e8 stata abilitata la supporto permanente per le tabelle di paging a cinque livelli (il parametro CONFIG_X86_5LEVEL, che gestiva l'attivazione delle tabelle a cinque livelli, \u00e8 stato rimosso).\n<li class=\"l\"> Nel driver intel_pstate, che gestisce i parametri di consumo energetico (P-state) sui sistemi con processori Intel, \u00e8 stata aggiunta la supporto per la programmazione delle attivit\u00e0 tenendo conto del consumo energetico (EAS \u2014 Energy Aware Scheduling) sui processoriibridi, che combinano core CPU ad alte prestazioni e a elevata efficienza energetica, come l'Intel Lunar Lake.\n<li class=\"l\"> Sono state aggiunte interfacce in sysfs:  &#171;\/sys\/devices\/system\/cpu\/cpuN\/cpu_capacity&#187; per ottenere informazioni sulle capacit\u00e0 dei vari CPU nei processori ibridi e &#171;\/sys\/devices\/system\/cpu\/cpuidle\/intel_c1_demotion&#187; per gestire la possibilit\u00e0 di mantenere il CPU in uno stato pi\u00f9 performante, anche se il core cerca di passare il CPU a uno stato di minor consumo energetico (ad esempio, il core pu\u00f2 richiedere il passaggio a uno stato di consumo energetico C6, ma il firmware, in caso di intensa attivit\u00e0 di risveglio del CPU, pu\u00f2 mantenerlo nello stato C1).\n<li class=\"l\"> Per l'architettura ARM64 \u00e8 stata attivata la supporto per la modalit\u00e0 di pre-emissione pigra (PREEMPT_LAZY), che corrisponde alla modalit\u00e0 di pre-emissione completa (&#171;full preemption&#187;) per attivit\u00e0 in tempo reale (RR\/FIFO\/DEADLINE), ma ritarda la pre-emissione delle attivit\u00e0 normali (SCHED_NORMAL) fino al limite del tick.\n<li class=\"l\"> Per l'architettura ARM64 \u00e8 stata aggiunta la supporto per l'utilizzo delle estensioni SME (Scalable Matrix Extension), attivabile tramite il parametro CONFIG_ARM64_SME.\n<li class=\"l\">  Continuano i trasferimenti delle modifiche dal ramo Rust-for-Linux, relative all'uso del linguaggio Rust come secondo linguaggio per lo sviluppo di driver e moduli del kernel (il supporto per Rust non \u00e8 attivo di default e non porta a includere Rust tra le dipendenze obbligatorie per la costruzione del kernel). Per i moduli scritti in Rust, \u00e8 disponibile la possibilit\u00e0 di utilizzare configfs. Sono state aggiunte astrazioni necessarie per lo sviluppo di driver grafici. Sono state ampliate le capacit\u00e0 dei moduli alloc, time, str, list, workqueue e page. \u00c8 stato aggiunto il supporto per il macro \u00abassert!\u00bb nei test basati su KUnit. \u00c8 stato aggiunto un insieme di astrazioni per la gestione della frequenza della CPU e per l'uso delle API relative alla gestione del consumo energetico. \u00c8 stato aggiunto il supporto per la struttura dati \u2018xarray\u2019.\n<li class=\"l\"> Per l'architettura RISC-V \u00e8 stata trasferita l'implementazione della chiamata di sistema getrandom(), ottimizzata tramite il meccanismo vDSO (virtual dynamic shared object), che consente di spostare il gestore della chiamata di sistema dallo spazio del kernel a quello utente, evitando cambi di contesto. Nei test effettuati, l'ottimizzazione ha accelerato l'ottenimento di numeri casuali di 17 volte. Per RISC-V \u00e8 stato implementato anche il supporto per le estensioni vettoriali Zicbop, Zabha e Svinval, utilizzate nei processori SiFive.\n<li class=\"l\"> Per l'architettura LoongArch il limite sul numero di CPU nel sistema \u00e8 stato aumentato da 256 a 2048. \u00c8 stato aggiunto il supporto per il pianificatore di task SCHED_MC (Multi-core).\n<li class=\"l\"> \u00c8 stata aggiunta la possibilit\u00e0 di utilizzare i socket Unix per il trasferimento dei descrittori di file. Per disabilitare tale possibilit\u00e0, le applicazioni possono utilizzare nel setsockopt() il flag SO_PASSRIGHTS.\n<li class=\"l\"> \u00c8 stata fornita la possibilit\u00e0 di mappare il buffer circolare, utilizzato per tracciare l'attivit\u00e0 del kernel, nella memoria dello spazio utente.\n<li class=\"l\"> I gestori di crash-dump, utilizzati per generare report sui problemi dopo un arresto anomalo del kernel, possono ora utilizzare le chiavi LUKS utilizzate dal kernel guasto per salvare i crash-dump in file system crittografati.\n<li class=\"l\"> Nel sistema di input\/output asincrono io_uring \u00e8 stata aggiunta l'operazione IORING_OP_PIPE per creare canali anonimi, simile alla chiamata di sistema pipe2, ad eccezione del supporto per descrittori di file fissi.\n<li class=\"l\"> \u00c8 stata aggiunta l'opzione della riga di comando del kernel \u00abrt_group_sched\u00bb per gestire l'attivazione dello scheduler per le task di gruppo realtime (SCHED_RR). L'opzione \u00e8 simile alla configurazione RT_GROUP_SCHED in Kconfig.\n<li class=\"l\"> Per i dispositivi basati sul bus CXL (Compute Express Link), utilizzato per organizzare l'interazione ad alta velocit\u00e0 tra CPU e dispositivi di memoria, \u00e8 stata implementata la supporto per le estensioni RAS (Reliability, Availability, Serviceability), che consentono di attuare diverse schemi di rilevamento e correzione degli errori. CXL consente di collegare nuove aree di memoria fornite da dispositivi di memoria esterni e di utilizzarle come risorse aggiuntive nello spazio di indirizzamento fisico per espandere la memoria operativa di sistema (DDR) o la memoria persistente (PMEM).\n<li class=\"l\"> La versione minima necessaria per la compilation del kernel per tutte le architetture \u00e8 stata elevata al ramo GCC 8. Per la compilazione \u00e8 ora anche necessaria almeno la versione del pacchetto binutils 2.30.\n<li class=\"l\"> \u00c8 stata rimossa la chiamata di sistema uselib(), che \u00e8 stata a lungo dichiarata obsoleta e al suo posto per l'accesso condiviso alle librerie condivise si utilizza mmap().                  <\/ul>\n<li class=\"l\"> <b>Virtualizzazione e sicurezza<\/b>\n<ul>\n<li class=\"l\"> \u00c8 stata aggiunta una supporto iniziale per l'utilizzo del meccanismo Intel TDX (Trusted Domain Extensions) per la protezione dei sistemi guest che operano sotto il controllo dell'hypervisor KVM, da interferenze e analisi da parte dell'amministratore del sistema host e attacchi fisici all'hardware. La protezione \u00e8 garantita tramite la crittografia della memoria. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/vps\/\"   title=\"macchine virtuali\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2021\">macchine virtuali<\/a>.\n<li class=\"l\"> \u00c8 stato aggiunto un driver virtuale TPM (Trusted Platform Module), che consente alle macchine virtuali di interagire con i dispositivi TPM (Trusted Platform Module), emulati dal modulo SVSM (Secure VM Service Module).\n<li class=\"l\"> \u00c8 stata ripristinata la possibilit\u00e0 di utilizzare il plugin GCC randstruct, che randomizza la disposizione delle strutture dati in fase di compilazione per complicare l'exploitation delle vulnerabilit\u00e0.\n<li class=\"l\"> \u00c8 stata aggiunta la possibilit\u00e0 di utilizzare la tecnologia IMA (Integrity Measurement Architecture) per il controllo dell'integrit\u00e0 durante l'avvio di nuovi kernel tramite la chiamata di sistema kexec.\n<li class=\"l\"> \u00c8 stato fatto un lavoro per ridurre l'impatto sulle prestazioni dell'uso di SELinux. Per accelerare il funzionamento \u00e8 stata aggiunta una cache con i risultati dei controlli di accesso alle directory. Nelle regole genfscon \u00e8 stata aggiunta la possibilit\u00e0 di utilizzare le maschere.\n<li class=\"l\"> Nel codice per l'interazione con EFI \u00e8 stata fornita la possibilit\u00e0 di incorporare una sezione SBAT (UEFI Secure Boot Advanced Targeting) con metadata sulle versioni revocate dei componenti di avvio.\n<li class=\"l\"> Nei moduli caricati, \u00e8 stata effettuata la transizione della sezione \u00ab.static_call_sites\u00bb in modalit\u00e0 di sola lettura dopo il completamento dell'inizializzazione.\n<li class=\"l\"> Per i sistemi ARM a 64 bit, il hypervisor KVM supporta la virtualizzazione annidata (disabilitata per impostazione predefinita).\n<li class=\"l\"> Nel hypervisor KVM \u00e8 stata dichiarata stabile la supporto per l'architettura RISC-V.                                  <\/ul>\n<li class=\"l\"> <b>Sottosistema di rete<\/b>\n<ul>\n<li class=\"l\"> \u00c8 stato aggiunto il driver ovpn, che consente di aumentare notevolmente le prestazioni di OpenVPN spostando le operazioni di crittografia, gestione dei pacchetti e controllo del canale a livello del kernel di Linux. Il driver riduce le spese generali associate al cambio di contesto, permette di ottimizzare il lavoro tramite l'accesso diretto alle API interne del kernel e elimina la lenta trasmissione dei dati tra il kernel e lo spazio utente (la crittografia, la decifratura e il routing vengono eseguiti dal modulo senza inviare il traffico al gestore nello spazio utente).\n<li class=\"l\"> Nel meccanismo Device Memory TCP \u00e8 stata aggiunta la supporto per l'invio di dati dalla memoria del dispositivo (percorso TX). In precedenza, per semplificare l'integrazione del Device Memory TCP nel kernel, la funzionalit\u00e0 era limitata alla ricezione dei dati (percorso RX). Device Memory TCP consente di utilizzare socket di rete per inviare direttamente il contenuto della memoria del dispositivo periferico attraverso la rete (modalit\u00e0 zero-copy), nonch\u00e9 di collocare direttamente il contenuto dei pacchetti di rete nell'area di memoria del dispositivo sul lato del ricevitore. I dati trasmessi nei pacchetti vengono trasferiti dalla scheda di rete alla memoria del dispositivo periferico (DMABUF), ad esempio, nella memoria video della GPU, o dalla memoria del dispositivo alla scheda di rete direttamente, bypassando la CPU, mentre le intestazioni dei pacchetti entrano nei normali buffer del kernel.\n<li class=\"l\"> \u00c8 stata fornita la possibilit\u00e0 di inviare il contenuto dei core dump attraverso il socket AF_UNIX, consentendo di creare nello spazio utente gestori di core dump pi\u00f9 sicuri, non legati alla chiamata di processi privilegiati da parte del kernel.\n<li class=\"l\"> \u00c8 stata rimossa la supporto per il protocollo di rete DCCP (Datagram Congestion Control Protocol), che non ha avuto diffusione e \u00e8 rimasto nel kernel senza supporto per cinque anni. La rimozione del DCCP dal kernel eliminer\u00e0 gli ostacoli che impediscono di rielaborare la struttura dati inet_connection_sock per aumentare l'efficienza del stack TCP. \u00c8 rimasta la supporto per i moduli netfilter per il filtraggio dei pacchetti DCCP.\n<li class=\"l\"> Per semplificare la gestione degli errori nell'uso dei socket SO_PEERPIDFD, il kernel pu\u00f2 ora trasmettere pidfd per i processi gi\u00e0 terminati (pidfd \u00e8 legato a processi specifici e, a differenza di pid, non viene riassociato).\n<li class=\"l\"> Utilizzando BPF, ora \u00e8 possibile creare gestori per la gestione delle code dei pacchetti nello stack di rete (qdiscs) per influenzare l'ordine di elaborazione dei pacchetti di rete.\n<li class=\"l\"> Nella rete di file AFS \u00e8 stato implementato GSSAPI (Generic Security Services API) per gestire la crittografia delle connessioni con <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/dts-dusseldorf\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3430\">server<\/a> YFS e OpenAFS.\n<li class=\"l\"> \u00c8 stata apportata una grande serie di ottimizzazioni. L'organizzazione dei lock per le tabelle di routing IPv6 \u00e8 stata rielaborata (alcune operazioni di routing ora si svolgono fino a 3 volte pi\u00f9 velocemente). \u00c8 stato accelerato il calcolo software delle somme di controllo crc32c. Il motore GRO per il traffico UDP incapsulato \u00e8 stato velocizzato del 10%. \u00c8 stato migliorato l'adattamento automatico del buffer di ricezione per TCP e sono stati aumentati i limiti di default (nei test condotti, la larghezza di banda per flussi singoli attraverso un canale di 200Gbs \u00e8 aumentata del 60%).\n<li class=\"l\"> In Netfilter \u00e8 stata aggiunta la possibilit\u00e0 di utilizzare maschere nei nomi delle interfacce di rete impiegate in netdev e flowtable. Nella infrastruttura nft trace \u00e8 stata integrata l'informazione sul tracciamento delle connessioni (conntrack). \u00c8 stato accelerato il recupero delle tabelle di tracciamento delle connessioni (conntrack) tramite procfs.      <\/ul>\n<li class=\"l\"> <b>Apparecchiatura<\/b>\n<ul>\n<li class=\"l\"> \u00c8 stata aggiunta la supporto per l'elaborazione dei flussi audio sul lato dei dispositivi audio con interfaccia USB (USB audio offload). Questa modifica consente di ridurre notevolmente il consumo energetico dei dispositivi portatili continuando l'elaborazione del flusso audio mentre il resto del sistema \u00e8 in modalit\u00e0 sospensione. In precedenza, nei kernel per la piattaforma Android era fornita un'implementazione specifica del trattamento offload dell'audio per i dispositivi USB, mentre ora nel kernel principale \u00e8 apparsa un'implementazione universale che pu\u00f2 essere utilizzata da qualsiasi progetto.\n<li class=\"l\"> Continuata l'integrazione dei componenti del driver Nova per GPU NVIDIA, dotate di firmware GSP utilizzati a partire dalla serie NVIDIA GeForce RTX 2000 basata sull'architettura Turing. Il driver \u00e8 scritto in Rust. In aggiunta al componente nova-core aggiunto nel rilascio precedente, che implementa il livello di astrazione di base delle interfacce dei firmware GSP, nella versione 6.16 \u00e8 stata inclusa una prima implementazione del driver DRM nova-drm (Direct Rendering Manager) per l'interazione con la GPU dallo spazio utente.\n<li class=\"l\"> Iniziato il processo di integrazione nel kernel del driver DRM Asahi per GPU Apple AGX, utilizzati nei chip Apple Silicon. Il driver \u00e8 scritto in Rust. In questa fase, nel kernel sono stati inclusi solo i file di intestazione con UAPI del driver Asahi, necessari per Mesa, mentre il codice principale del driver Asahi verr\u00e0 integrato in seguito.\n<li class=\"l\"> Aggiunta nel driver Nouveau il supporto per GPU NVIDIA delle famiglie Hopper e Blackwell.\n<li class=\"l\"> Proseguita la lavorazione del driver drm (Direct Rendering Manager) Xe per GPU basate sull'architettura Intel Xe, utilizzata nelle schede grafiche Intel della famiglia Arc e nella grafica integrata, a partire dai processori Tiger Lake. \u00c8 stata aggiunta la possibilit\u00e0 di utilizzare diversi file di firmware per diverse famiglie di GPU Intel.\n<li class=\"l\"> Nel driver AMDGPU \u00e8 stato implementato il supporto per il meccanismo \u00abusermode queue\u00bb, che consente di creare code di lavoro personalizzate nello spazio utente e inviarle direttamente alla GPU senza fare riferimento allo scheduler del kernel. Il supporto per la \u00abusermode queue\u00bb \u00e8 abilitato per le GPU Navi 4X e GFX 12.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per i sistemi audio Intel WCL (Whiskey Lake), AMD ACP 7.x (Audio Co-Processor), Cirrus Logic CS35L63 e CS48L32, Everest Semiconductor ES8375 e ES8389, Pioneer DJM-V10, Longsoon-1 AC\u201997, NVIDIA Tegra264, Richtek ALC203, RT9123 e Rockchip SAI, cos\u00ec come per le nuove piattaforme Intel AVS.\n<li class=\"l\"> Aggiunto il supporto per piattaforme ARM, SoC e dispositivi: Samsung Exynos7870, Qualcomm Snapdragon X1P42100, Qualcomm MSM8926, RK3562, NXP i.MX94, Renesas RZ\/V2N, Amlogic S6\/S7\/S7D, WonderMedia wm8950, Amlogic s805y, Allwinner A523, Toradex Verdin AM62P, ROCK 5B+, Nitrogen8M Plus, Retronix R-Car V4H Sparrow Hawk, MT8186 Ponyta Chromebook, VIA APC Rock\/Paper, Renesas rz\/t2h, ASUS Transformer Pad LTE TF300TL, LG Nexus 4, Google Pixel 4a, Raspberry Pi 2.\n<li class=\"l\"> Rimosso il driver per schede di acquisizione video basate su chip STA2X11.                    <\/ul>\n<\/ul>\n<p>Contemporaneamente, il Fondo latinoamericano per il software libero ha creato una versione completamente libera del kernel 6.16 \u2014 Linux-libre 6.16-gnu, ripulita da elementi di firmware e driver contenenti componenti non liberi o porzioni di codice il cui utilizzo \u00e8 limitato dal produttore. Nella versione 6.16 \u00e8 stata neutralizzata il caricamento di blob nei nuovi driver Intel qat 6xxx crypto, ST vd55g1 sensor, ath12k AHB wifi, Aeonsemi AS21xxx e MediaTek 25Gb Ethernet. \u00c8 stata eseguita una pulizia dei nomi dei blob nei file dts (devicetree) per i chip ARM di Qualcomm e MediaTek. Il codice per la pulizia dei blob \u00e8 stato aggiornato nei driver Nova Core, Nouveau, Realtek r8169 Ethernet, Qualcomm Iris, Venus, Mediatek mt7996 wifi, Qualcomm ath11k e ath12k wifi, Texas Instruments tas2781 e Renesas R-Car gen4 PCIe.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=63632\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.16. \u0421\u0440\u0435\u0434\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439: \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f OpenVPN, \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c Kexec HandOver, \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u044f\u0442\u0438\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f x86, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 DCCP, \u0431\u043b\u043e\u0447\u043d\u044b\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 zloop, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 core-\u0434\u0430\u043c\u043f\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 UNIX-\u0441\u043e\u043a\u0435\u0442, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 XFS, offload-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0437\u0432\u0443\u043a\u0430 \u0434\u043b\u044f USB-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 Ext4, \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-139749","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.16.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-6-16\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.16 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.16.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-6-16\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-07-28T15:11:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-07-28T15:11:54+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Rilascio del kernel Linux 6.16 | ProHoster","description":"Dopo due mesi di sviluppo, Linus Torvalds ha presentato il rilascio del kernel Linux 6.16.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-6-16","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.16 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.16.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-6-16","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-07-28T15:11:54+00:00","article:modified_time":"2025-07-28T15:11:54+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"139749","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-19 09:17:27","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 14:01:19","updated":"2026-02-19 09:17:27","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/139749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=139749"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/139749\/revisions"}],"predecessor-version":[{"id":161805,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/139749\/revisions\/161805"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=139749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=139749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=139749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}