{"id":120593,"date":"2024-11-18T13:09:07","date_gmt":"2024-11-18T11:09:07","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-yadra-linux-6-12-s-podderzhkoj-realtime-rezhima"},"modified":"2024-11-18T13:09:07","modified_gmt":"2024-11-18T11:09:07","slug":"reliz-yadra-linux-6-12-s-podderzhkoj-realtime-rezhima","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-6-12-s-podderzhkoj-realtime-rezhima","title":{"rendered":"Rilascio del kernel Linux 6.12 con supporto per la modalit\u00e0 Realtime","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.12. Tra le modifiche pi\u00f9 significative: la possibilit\u00e0 di attivare la modalit\u00e0 Realtime, sched_ext per la creazione di scheduler CPU tramite eBPF, output del codice QR in caso di stati di emergenza, meccanismo Device Memory TCP, meccanismo di riservazione delle risorse SCHED_DEADLINE server, miglioramento dello scheduler di attivit\u00e0 EEVDF, modulo IPE per la definizione di politiche di integrit\u00e0.        <\/p>\n<p>Nella nuova versione sono stati apportati 14607 aggiornamenti da 2167 sviluppatori, la dimensione della patch \u00e8 di 37 MB (le modifiche hanno interessato 13087 file, con 507913 righe di codice aggiunte e 234083 righe rimosse). Nell'ultima versione erano stati applicati 15130 aggiornamenti da 2078 sviluppatori, la dimensione della patch era di 85 MB (nel kernel 6.10 la patch aveva una dimensione di 41 MB). Circa il 45% di tutte le modifiche presentate in 6.12 sono relative ai driver di dispositivo, circa il 12% delle modifiche riguarda l'aggiornamento del codice specifico per le architetture hardware, il 13% \u00e8 relativo allo stack di rete, il 6% ai file system e il 3% ai sottosistemi interni del kernel.      <\/p>\n<p>Le principali novit\u00e0 nel kernel 6.12:  <\/p>\n<ul>\n<li class=\"l\"> <b>Memoria e servizi di sistema<\/b>\n<ul>\n<li class=\"l\"> \u00c8 stata data la possibilit\u00e0 di costruire il kernel con l'opzione PREEMPT_RT senza patch aggiuntive per lavorare in modalit\u00e0 tempo reale. L'ultima funzionalit\u00e0 mancante nel kernel, che impediva di attivare la modalit\u00e0 PREEMPT_RT, era il supporto per l'output atomico non bloccante tramite la funzione printk, che \u00e8 stata anch'essa accettata nel kernel. Il supporto per PREEMPT_RT \u00e8 disponibile per le architetture x86, x86_64, ARM64 e RISC-V. Finora, l'implementazione della modalit\u00e0 PREEMPT_RT \u00e8 stata fornita sotto forma di patch esterne, su cui alcune distribuzioni, come RHEL, SUSE e Ubuntu, hanno creato edizioni Realtime separate dei loro prodotti, richieste in settori come i sistemi finanziari, i dispositivi di elaborazione audio e video, l'aviazione, la medicina, la robotica, le telecomunicazioni e i sistemi industriali, in cui \u00e8 necessario garantire un tempo di elaborazione degli eventi prevedibile.\n<li class=\"l\"> \u00c8 stato aggiunto il meccanismo \u00absched_ext\u00bb (SCX), che consente di utilizzare eBPF per creare scheduler CPU che coprono praticamente tutti gli aspetti della pianificazione dell'esecuzione dei compiti e della distribuzione delle risorse CPU. Questi scheduler possono essere caricati dinamicamente ed eseguiti all'interno del kernel Linux. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/vps\/abuzoustojchivye-vps\/\"   title=\"macchina virtuale\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4348\">macchina virtuale<\/a> eBPF. Il meccanismo sched_ext semplifica la creazione di pianificatori specifici per compiti particolari, consente di sperimentare diverse tecniche e strategie di pianificazione, e permette di creare rapidamente prototipi funzionali e sostituire i pianificatori al volo nelle infrastrutture di lavoro. Ad esempio, utilizzando sched_ext, \u00e8 possibile creare un pianificatore che tenga conto delle specificit\u00e0 di una determinata applicazione e cambi dinamicamente la strategia di pianificazione in base allo stato del sistema e ad alcuni fattori aggiuntivi.\n<li class=\"l\"> Il pacchetto include il resto delle patch necessarie per il funzionamento del meccanismo SCHED_DEADLINE server, che risolve il problema della scarsa disponibilit\u00e0 di risorse CPU per i compiti normali a causa della monopolizzazione della CPU da parte di compiti ad alta priorit\u00e0 (realtime). Per prevenire la monopolizzazione della CPU, in precedenza nel kernel veniva utilizzato il meccanismo Realtime throttling, che cercava di riservare il 5% per i compiti a bassa priorit\u00e0, lasciando il 95% del tempo ai compiti realtime. Questo meccanismo ha lasciato a desiderare, poich\u00e9 molte volte i compiti normali non ricevevano tempo CPU sufficiente. Il server SCHED_DEADLINE implementa un meccanismo di riservazione delle risorse pi\u00f9 efficace.\n<li class=\"l\"> \u00c8 stata completata l'integrazione del pianificatore di compiti EEVDF (Earliest Eligible Virtual Deadline First), che ha sostituito il pianificatore CFS (Completely Fair Scheduler), in uso a partire dal kernel 2.6.23. Il nuovo pianificatore, nella scelta del prossimo processo da eseguire, considera i processi che non hanno ricevuto risorse CPU o che hanno ottenuto ingiustamente troppo tempo CPU. Nel primo caso, si forza il passaggio di controllo a un processo, mentre nel secondo, si rinvia. Il vecchio pianificatore CFS utilizzava euristiche e regolazioni precise per identificare i processi che richiedevano attenzione speciale, mentre il nuovo pianificatore li monitora in modo pi\u00f9 esplicito e non richiede regolazioni dettagliate. Si prevede che EEVDF riduca i ritardi nell'esecuzione dei compiti, che con CFS hanno incontrato problemi di pianificazione.\n<li class=\"l\"> Nel gestore di arresto anomalo del kernel - DRM Panic, che utilizza il sottosistema DRM (Direct Rendering Manager) per visualizzare un rapporto visivo in stile \u00abschermata blu della morte\u00bb, \u00e8 stata aggiunta la possibilit\u00e0 di mostrare sullo schermo il logo e un codice QR con il rapporto kmsg in caso di un'eccezione. Poich\u00e9 nel codice QR possono essere archiviati solo 2953 byte, \u00e8 disponibile l'opzione DRM_PANIC_SCREEN_QR_CODE_URL, in cui il rapporto kmsg viene compresso tramite zlib e allegato come parametro all'URL, consentendo di trasferire attraverso il codice QR V40 circa 7500 byte. Durante la compilazione dei pacchetti con il kernel, le distribuzioni possono impostare un link di base per l'URL, il che consente di organizzare un passaggio alla pagina per inviare un rapporto di problema. Per scegliere il formato del codice QR, \u00e8 prevista la configurazione DRM_PANIC_SCREEN_QR_VERSION.\n<li class=\"l\"> \u00c8 stata aggiunta la supporto per l'estensione ARM POE (Permission Overlay Extension), che consente di impostare i diritti di accesso alle aree di memoria. Con questa estensione, sui sistemi con processori ARM64, pu\u00f2 essere implementato un meccanismo di Memory Protection Keys, utilizzato per limitare l'accesso alle pagine di memoria senza modificare la tabella delle pagine di memoria.\n<li class=\"l\"> Per le architetture Loongarch, ARM64, PowerPC e s390 \u00e8 stata trasferita l'implementazione della chiamata di sistema getrandom(), ottimizzata attraverso il meccanismo vDSO (virtual dynamic shared object), che consente di spostare il gestore della chiamata di sistema dallo kernel allo spazio utente, evitando cambi di contesto. L'ottimizzazione consente di accelerare fino a 15 volte l'ottenimento di numeri casuali.\n<li class=\"l\"> Nel sottosistema di input\/output asincrono io_uring \u00e8 stata aggiunta la possibilit\u00e0 di utilizzare timeout assoluti, attivati al raggiungimento di un determinato tempo sugli orologi di sistema (in precedenza era possibile impostare solo timeout relativi, che specificavano la durata dall'inizio dell'operazione).\n<li class=\"l\"> Sono stati aggiunti file per generare binding per la libreria libcpupower tramite lo strumento SWIG, che consente di creare binding dal codice C\/C++ per diversi linguaggi di programmazione. I binding permettono di creare script in Python e in altri linguaggi e di utilizzarli per estendere le funzionalit\u00e0 della libreria libcpupower, che fornisce un'API per la gestione di cpufreq e driver dallo spazio utente.\n<li class=\"l\"> Nell'utilit\u00e0 cpuidle \u00e8 stata implementata la visualizzazione del valore dello stato di inattivit\u00e0 \u00abresidency\u00bb, utilizzato per i sistemi in tempo reale e che considera il tempo minimo che la CPU deve rimanere nello stato di inattivit\u00e0 per giustificare il costo energetico del passaggio a questo stato e l'uscita da esso.\n<li class=\"l\"> \u00c8 stata aggiunta la possibilit\u00e0 di utilizzare il compilatore Clang per la compilazione della libreria standard C nolibc, che fa parte dei codici sorgente del kernel di Linux e fornisce un'interfaccia per le chiamate di sistema di base. Durante la compilazione di nolibc con Clang \u00e8 consentito l'uso dell'ottimizzazione durante la fase di linking (LTO).\n<li class=\"l\"> Sono stati dichiarati obsoleti alcuni interface di cgroup1, come il conteggio TCP, la prima versione dei limiti morbidi (soft limit) e la gestione dell'esaurimento della memoria libera. Il supporto per queste funzionalit\u00e0 rimaneintatto per il momento e la notifica \u00e8 stata fatta per studiare il numero di utenti che continuano a utilizzare queste possibilit\u00e0.\n<li class=\"l\"> \u00c8 stata aggiunta la possibilit\u00e0 di configurare un buffer circolare per la registrazione, in modo da salvare i dati accumulati dopo un riavvio, ci\u00f2 consentir\u00e0 di non perdere le informazioni di debug accumulate in caso di un arresto anomalo del kernel. I dati vengono salvati in memoria. L'attivazione avviene tramite il parametro della riga di comando del kernel trace_instance, ad esempio, impostare \u00abtrace_instance=boot_map@0x285400000:12M\u00bb riserver\u00e0 12 MB di memoria all'indirizzo 0x285400000 per il buffer \u00abboot_map\u00bb, che sar\u00e0 accessibile tramite il file \/sys\/kernel\/tracing\/instances\/boot_map.\n<li class=\"l\"> Prosegue il porting delle modifiche dal branch 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 per impostazione predefinita e non comporta l'inclusione di Rust tra le dipendenze di compilazione obbligatorie per il kernel). Sono stati aggiunti i moduli \u2018list\u2019 e \u2018rbtree\u2019 per lavorare con liste doppiamente collegate e alberi di ricerca rosso-neri (red-black tree). Sono state ampliate le funzionalit\u00e0 dei moduli \u2018init\u2019, \u2018sync\u2019, \u2018types\u2019 e \u2018error\u2019. \u00c8 stata fornita la possibilit\u00e0 di utilizzare codice Rust durante la compilazione del kernel con protezione dagli attacchi Spectre (opzioni MITIGATION_{RETHUNK,RETPOLINE,SLS}), utilizzo del sistema di debug KASAN, meccanismi di protezione kCFI (kernel Control Flow Integrity) e Shadow Call, oltre all'utilizzo di plugin aggiuntivi GCC. \u00c8 stato aggiunto un driver per il controller Ethernet Applied Micro QT2025 PHY, scritto in Rust. \u00c8 stato preparato un sito dedicato con la documentazione \u2014 rust.docs.kernel.org.\n<li class=\"l\"> All'interno del codice sorgente del kernel \u00e8 stata aggiunta l'utilit\u00e0 xdrgen per la trasformazione delle specifiche XDR (eXternal Data Representation) in funzioni di codifica e decodifica XDR, scritte utilizzando lo stile C adottato nel kernel Linux.\n<li class=\"l\"> Nel kernel \u00e8 stata accettata una modifica che implementa un meccanismo di masking dei puntatori per ridurre il numero di chiamate lente barrier_nospec() nella funzione a 64 bit copy_from_user(), utilizzata per copiare dati nel kernel dallo spazio utente. L'applicazione del masking accelera del 2.6% il passaggio del test \u00abper_thread_ops\u00bb, che valuta il numero di operazioni che possono essere eseguite in un singolo thread.\n<li class=\"l\"> \u00c8 stato aggiunto un nuovo driver USB che consente di utilizzare il protocollo 9pfs come trasporto per il trasferimento e la ricezione di dati da un dispositivo USB, montando il FS 9p sopra USB (ad esempio, \u00abmount -t 9p -o trans=usbg,aname=\/path\/to\/fs  \/mnt\/9\u00bb). Come esempio di utilizzo del nuovo driver viene citato l'uso al posto di NFS per organizzare il caricamento della partizione radice durante lo sviluppo di dispositivi embedded.                    <\/ul>\n<li class=\"l\"> <b>Sottosistema di disco, input\/output e file system<\/b>\n<ul>\n<li class=\"l\"> Nel sottosistema VFS \u00e8 stata aggiunta la possibilit\u00e0 di lavorare con dispositivi di archiviazione che hanno dimensioni dei blocchi maggiori rispetto alla dimensione della pagina di memoria nel sistema. Questa funzionalit\u00e0 \u00e8 attualmente supportata solo nel file system XFS.\n<li class=\"l\"> Nel sottosistema FUSE, che consente di creare implementazioni di file system funzionanti nello spazio utente, \u00e8 stata aggiunta la supporto al mapping degli identificatori utente dei file system montati, utilizzato per mappare i file di un determinato utente su una partizione montata di un altro utente nel sistema corrente.\n<li class=\"l\"> \u00c8 stata implementata una nuova operazione fcntl F_CREATED_QUERY, che consente all'applicazione di determinare se un file aperto utilizzando il flag O_CREAT sia stato creato o gi\u00e0 esistesse prima.\n<li class=\"l\"> Nel sistema di chiamata name_to_handle_at() \u00e8 stata aggiunta la possibilit\u00e0 di utilizzare identificatori unici a 64 bit dei punti di montaggio per escludere stati di competizione durante l'analisi di \/proc\/mountinfo.\n<li class=\"l\"> La dimensione della struttura &#171;file&#187; nel kernel \u00e8 stata ridotta da 232 a 184 byte, permettendo di diminuire il consumo della memoria sui sistemi che lavorano attivamente con i file.\n<li class=\"l\"> \u00c8 vietato montare file system su punti di montaggio all'interno della gerarchia \/proc, ad esempio, in \/proc\/PID\/fd, poich\u00e9 ci\u00f2 creava potenziali problemi di sicurezza.\n<li class=\"l\"> Nel pseudo-FS NSFS (NameSpace FS), utilizzato per lavorare con gli spazi dei nomi, \u00e8 stata implementata la fornitura di ulteriori informazioni sugli spazi dei nomi dei punti di montaggio.\n<li class=\"l\"> Nel file system EROFS (Extendable Read-Only File System), progettato per l'uso su partizioni disponibili in modalit\u00e0 sola lettura, \u00e8 stata introdotta la supporto per montare file system direttamente da immagini disco salvate come file.\n<li class=\"l\"> In XFS sono state aggiunte le nuove comandi ioctl XFS_IOC_START_COMMIT e XFS_IOC_COMMIT_RANGE per scambiare contenuti tra due file.\n<li class=\"l\"> In NFS \u00e8 stata aggiunta la supporto per il protocollo &#171;LOCALIO&#187;, che permette di determinare se il client e <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/\"   title=\"server\" data-wpil-keyword-link=\"linked\">server<\/a> NFS si trovano sullo stesso host, per attivare le ottimizzazioni appropriate.\n<li class=\"l\"> Nel file system Btrfs sono state proposte ottimizzazioni delle prestazioni, \u00e8 stata effettuata una rifattorizzazione del codice, ridotto l'ambito di blocco degli extents durante le operazioni di lettura, \u00e8 continuato il lavoro per passare all'uso dei fogli di pagina (page folios) e implementata la liberazione automatica della memoria per la struttura btrfs_path.\n<li class=\"l\"> Nel file system Ext4 sono stati risolti errori legati all'allocazione dei blocchi, alla gestione degli extent, al meccanismo &#171;fast commit&#187; e al journaling.                  <\/ul>\n<li class=\"l\"> <b>Virtualizzazione e sicurezza<\/b>\n<ul>\n<li class=\"l\"> Aggiunto il modulo LSM IPE (Integrity Policy Enforcement), sviluppato da Microsoft per espandere l'attuale sistema di gestione degli accessi a mandato. Il modulo consente di definire una politica generale di integrit\u00e0 per l'intero sistema, indicando quali operazioni sono ammissibili e come verificare l'autenticit\u00e0 dei componenti. Ad esempio, attraverso IPE \u00e8 possibile specificare quali file eseguibili possono essere avviati tenendo conto della verifica della loro corrispondenza alla versione di riferimento attraverso hash crittografici forniti dal sistema dm-verity.\n<li class=\"l\"> Fase di compilazione del kernel \u00e8 stata fornita la possibilit\u00e0 di attivare separatamente i metodi di protezione disponibili contro varie vulnerabilit\u00e0 della classe Spectre nel CPU. In Kconfig sono stati proposti nuovi parametri: MITIGATE_MDS (protezione contro la vulnerabilit\u00e0 Microarchitectural Data Sampling), MITIGATE_TAA (protezione contro la vulnerabilit\u00e0 TSX Asynchronous Abort), MITIGATE_MMIO_STALE_DATA (protezione contro la vulnerabilit\u00e0 MMIO Stale Data), MITIGATE_L1TF (protezione contro la vulnerabilit\u00e0 L1 Terminal Fault), MITIGATE_RETBLEED (protezione contro la vulnerabilit\u00e0 Retbleed), MITIGATE_SPECTRE_V1, MITIGATE_SPECTRE_V2 (protezione contro le vulnerabilit\u00e0 Spectre), MITIGATE_SRBDS (protezione contro la vulnerabilit\u00e0 Special Register Buffer Data Sampling), MITIGATE_SSB (protezione contro la vulnerabilit\u00e0 Speculative Store Bypass).\n<li class=\"l\"> Aggiunto il parametro della riga di comando proc_mem.force_override e un insieme di impostazioni di build in Kconfig (PROC_MEM_FORCE_ALWAYS, PROC_MEM_FORCE_PTRACE e PROC_MEM_FORCE_NEVER) che consentono di vietare la modifica della memoria tramite \/proc\/pid\/mem.\n<li class=\"l\"> Il sottosistema LSM (Linux Security Module) \u00e8 stato trasformato per utilizzare chiamate statiche, il che ha aumentato la sicurezza e migliorato le prestazioni.\n<li class=\"l\"> Garantita la possibilit\u00e0 di utilizzare kernel standard per l'architettura ARM64 in ambienti guest eseguiti su sistemi Android con hypervisor KVM modificato (protected KVM).\n<li class=\"l\"> Nel modulo LSM Landlock, che permette di limitare l'interazione di un gruppo di processi con l'ambiente esterno, \u00e8 stata implementata la concettualizzazione dell'&#171;IPC scoping&#187; per limitare selettivamente l'interazione con gli ambienti sandbox utilizzando socket Unix e segnali. Ad esempio, \u00e8 possibile vietare l'instaurazione di connessioni con l'uso di socket Unix dall'ambiente sandbox verso processi in cui non viene applicata l'isolamento, ma consentire connessioni con processi nello stesso ambito.\n<li class=\"l\"> Nel hypervisor KVM \u00e8 stato aggiunto un flag in CPUID per i sistemi guest, che segnala il supporto per le estensioni AVX10.1.            <\/ul>\n<li class=\"l\"> <b>Sottosistema di rete<\/b>\n<ul>\n<li class=\"l\"> \u00c8 stato aggiunto il meccanismo Device Memory TCP, che consente di utilizzare socket di rete per l'invio diretto del contenuto della memoria dei dispositivi periferici attraverso la rete (modalit\u00e0 zero-copy) e il posizionamento diretto del contenuto dei pacchetti di rete nell'area di memoria del dispositivo dal lato del ricevente. I dati trasmessi nei pacchetti vengono trasferiti dalla scheda di rete alla memoria del dispositivo periferico o dalla memoria del dispositivo alla scheda di rete direttamente, bypassando la CPU, mentre le intestazioni dei pacchetti vanno nei normali buffer del kernel.\n<li class=\"l\"> Sono state ampliate le funzionalit\u00e0 di molti driver Ethernet e wireless. Ad esempio, nel driver Intel iwlwifi \u00e8 stata aggiunta la supporto per l'esecuzione delle operazioni RLC\/SMPS sul lato firmware, nel driver RealTek rtw89 \u00e8 stata migliorata la prestazione e aggiunto il supporto per i chip RTL8852BT\/8852BE-VT (WiFi 6), nel driver Ethernet microchip \u00e8 stato introdotto il supporto per le specifiche IEEE 802.3bw (100BASE-T1) e IEEE 802.3bp, e sono state migliorate le implementazioni delle Ethernet virtuali Microsoft vNIC e IBM veth. Sono stati aggiunti nuovi driver per i chip Ethernet Realtek RTL9054, RTL9068, RTL9072, RTL9075, RTL9068, RTL9071 e Microchip LAN8650\/1 10BASE-T1S MAC-PHY.\n<li class=\"l\"> In MPTCP (MultiPath TCP), un'estensione del protocollo TCP per la consegna simultanea di pacchetti TCP su pi\u00f9 percorsi attraverso diverse interfacce di rete, la dimensione dei coefficienti di pesatura utilizzati per il routing \u00e8 stata aumentata da 8 a 16 bit. \u00c8 stata implementata la determinazione del traffico perso (blackhole) e la sospensione per un certo periodo dei tentativi di connessione con i sistemi responsabili della perdita di traffico.\n<li class=\"l\"> Per IPv6 \u00e8 stata implementata la supporto per il flag &#171;p&#187; in PIO (Prefix Information Option), utilizzato negli annunci RA (IPv6 Router Advertisements) per scegliere il modello di distribuzione dei client tramite DHCPv6-PD (DHCPv6 Prefix Delegation, RFC9663) invece di assegnare indirizzi singoli basati sui prefissi, utilizzando SLAAC (Stateless Address Autoconfiguration). In IPv6 IOAM6 \u00e8 stata aggiunta la supporto per una nuova modalit\u00e0 di incapsulamento tunsrc, che consente di ottenere prestazioni pi\u00f9 elevate.\n<li class=\"l\"> \u00c8 stata aumentata la prestazione dell'elaborazione dei pacchetti di controllo IPsec.\n<li class=\"l\"> \u00c8 stata migliorata la prestazione del ripristino (flush) di grandi insiemi di regole nftables. Nel nfnetlink_queue \u00e8 stato migliorato il supporto per il protocollo SCTP.\n<li class=\"l\"> Nell'API ethtool \u00e8 stato aggiunto il supporto per l'associazione di pi\u00f9 schede di rete a un'unica interfaccia di rete.                      <\/ul>\n<li class=\"l\"> <b>Apparecchiatura<\/b>\n<ul>\n<li class=\"l\"> Nel driver AMDGPU \u00e8 continuato il lavoro per implementare il supporto per GPU AMD RDNA4 (&#171;GFX12&#187;). \u00c8 stata aggiunta la possibilit\u00e0 di resettare singole code di lavoro senza azzerare lo stato dell'intero GPU.\n<li class=\"l\"> Continua il lavoro sul driver drm (Direct Rendering Manager) Xe per GPU basate sull'architettura Intel Xe, utilizzate nelle schede grafiche Intel della famiglia Arc e nella grafica integrata, a partire dai processori Tiger Lake. La nuova versione include il supporto per GPU basate sulle microarchitetture Battlemage e Lunar Lake. \u00c8 stato introdotto il supporto per i modificatori CCS (Color Control Surface) Xe2 per gestire i parametri delle GPU integrate e discrete.\n<li class=\"l\"> Nel driver i915 \u00e8 stata implementata la possibilit\u00e0 di restituire tramite l'interfaccia HWMON o sysfs (attributo &#171;fan1_input&#187;) informazioni sulla velocit\u00e0 di rotazione della ventola. \u00c8 stato dichiarato obsoleto il parametro &#171;i915.modeset&#187;, anzich\u00e9 &#171;i915.modeset=0&#187; si dovrebbe utilizzare il parametro &#171;i915.nomodeset&#187;.\n<li class=\"l\"> Nel driver DRM msm (GPU Qualcomm Adreno) \u00e8 stato aggiunto il supporto per le GPU A615, A306 e A621.\n<li class=\"l\"> Nel driver Nouveau \u00e8 stata effettuata una revisione e pulizia delle strutture interne.\n<li class=\"l\"> Nel driver intel_pstate, che gestisce i parametri di consumo energetico (P-state) nei sistemi con processori Intel, \u00e8 stato aggiunto il supporto per sistemi ibridi con CPU asimmetrici (con caratteristiche diverse), oltre al supporto per la gestione dell'alimentazione dei processori basati sulle microarchitetture Granite Rapids e Sierra Forest. Nel driver intel_idle \u00e8 stato aggiunto il supporto per le CPU Xeon Granite Rapids. Nel driver intel_rapl \u00e8 stata garantita la rilevazione dei processi AMD della famiglia 1Ah e dei processori Intel ArrowLake-U.\n<li class=\"l\"> \u00c8 continuata l'integrazione delle modifiche per il supporto del SoC ARM Snapdragon X Elite, che utilizza il proprio CPU a 12 core Qualcomm Oryon e GPU Qualcomm Adreno. Il chip \u00e8 destinato all'uso in laptop e PC, superando in molte prove di prestazioni i chip Apple M3 e Intel Core Ultra 155H.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per piattaforme ARM, SoC e dispositivi: Broadcom bcm2712 (Raspberry Pi 5), Renesas R9A09G057 (RZ\/V2H), Qualcomm Snapdragon 414 (MSM8929), Lenovo ThinkPad T14s Gen 6, Lenovo A6000\/A6010, Surface Laptop 7, Anbernic RG35XXSP, Firefly Core-PX30-JD4, Lunzn Fastrhino R68S, Aspeed Riser, AGX Orin, Rockchip Qnap-TS433, Huashan Pi, Meta Catalina, BeagleY-AI, NanoPi R2S Plus, ExynosAuto v920, SOPHGO SG2002, Qualcomm IPQ5332, LG G4 (h815), Cool Pi CM5 GenBook, Anbernic RG35XXSP, GameForce Ace, IBM P11, Kontron i.MX93 OSM-S, NanoPC-T6.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per i pannelli di visualizzazione Anbernic RG28XX, On Tat Industrial Company KD50G21-40NT-A1, Innolux G070ACE-LH3, Melfas lmfbx101117480, Densitron DMT028VGHMCMI-1D, Microchip AC40T08A, AOU B116XTN02.3, AUO B116XAN06.1, AOU B116XAT04.1, BOE TV101WUM-LL2, BOE NV140WUM-N41, BOE NV133WUM-N63, BOE NV116WHM-A4D, BOE NE140WUM-N6G, CMN N116BCA-EA2, CMN N116BCP-EA2, CSW MNB601LS1-4, Starry er88577.\n<li class=\"l\"> Nel sistema audio \u00e8 stato aggiunto il supporto per i chip e codec RME Digiface USB, AMD ACP 7.1, Mediatek MT6367, MT8365, Realtek RTL1320, C-Media CM9825. I vecchi driver audio per ASoC Intel sono stati dichiarati obsoleti, e si raccomanda di utilizzare i driver AVS. Sono stati apportati molti miglioramenti al driver SoundWire.      <\/ul>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62243\">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.12. \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: \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f Realtime-\u0440\u0435\u0436\u0438\u043c\u0430, sched_ext \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 CPU \u0447\u0435\u0440\u0435\u0437 eBPF, \u0432\u044b\u0432\u043e\u0434 QR-\u043a\u043e\u0434\u0430 \u043f\u0440\u0438 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u044b\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u0445, \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c Device Memory TCP, \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 SCHED_DEADLINE server, \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u0437\u0430\u0434\u0430\u0447 EEVDF, \u043c\u043e\u0434\u0443\u043b\u044c IPE \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438. \u0412 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043f\u0440\u0438\u043d\u044f\u0442\u043e 14607 [&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-120593","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.12.\" \/>\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-12-s-podderzhkoj-realtime-rezhima\" \/>\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.12 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 Realtime-\u0440\u0435\u0436\u0438\u043c\u0430 | 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.12.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-6-12-s-podderzhkoj-realtime-rezhima\" \/>\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=\"2024-11-18T11:09:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-11-18T11:09:07+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.12 con supporto per modalit\u00e0 Realtime | ProHoster","description":"Dopo due mesi di sviluppo, Linus Torvalds ha presentato il rilascio del kernel Linux 6.12.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-6-12-s-podderzhkoj-realtime-rezhima","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.12 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 Realtime-\u0440\u0435\u0436\u0438\u043c\u0430 | 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.12.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-6-12-s-podderzhkoj-realtime-rezhima","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":"2024-11-18T11:09:07+00:00","article:modified_time":"2024-11-18T11:09:07+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"120593","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-01-23 08:06:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 08:06:19","updated":"2026-01-23 08:06:19","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\/120593","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=120593"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/120593\/revisions"}],"predecessor-version":[{"id":173076,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/120593\/revisions\/173076"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=120593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=120593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=120593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}