{"id":102933,"date":"2022-01-10T15:36:38","date_gmt":"2022-01-10T13:36:38","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/%d1%80%d0%b5%d0%bb%d0%b8%d0%b7-%d1%8f%d0%b4%d1%80%d0%b0-linux-5-16"},"modified":"2022-01-10T15:36:38","modified_gmt":"2022-01-10T13:36:38","slug":"reliz-yadra-linux-5-16","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-16","title":{"rendered":"Rilascio del kernel Linux 5.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 5.16. Tra le modifiche pi\u00f9 significative ci sono: la chiamata di sistema futex_waitv per migliorare le prestazioni dei giochi Windows in Wine, il tracciamento degli errori nel file system tramite fanotify, il concetto di volumi nel sistema di gestione della memoria, il supporto delle istruzioni per il processore AMX, la possibilit\u00e0 di riservare memoria per i socket di rete, il supporto in netfilter per la classificazione dei pacchetti nella fase di \u201cegress\u201d, l'attivazione del sottosistema DAMON per l'espulsione preventiva delle aree di memoria non utilizzate, il miglioramento della gestione dei sovraccarichi con grandi volumi di operazioni di scrittura, e il supporto per dischi rigidi multi-driver.    <\/p>\n<p>Nella nuova versione sono stati accettati 15415 correttivi da 2105 sviluppatori, la dimensione della patch \u00e8 di 45 MB (le modifiche hanno interessato 12023 file, sono state aggiunte 685198 righe di codice e ne sono state rimosse 263867). Circa il 44% di tutte le modifiche presentate in 5.16 riguardano i driver delle periferiche, circa il 16% delle modifiche sono relative all'aggiornamento di codice specifico per architetture hardware, il 16% \u00e8 associato allo stack di rete, il 4% ai file system e il 4% ai sottosistemi interni del kernel.    <\/p>\n<p>  Le principali novit\u00e0 nel kernel 5.16:  <\/p>\n<ul>\n<li class=\"l\"> <b>Sottosistema di disco, input\/output e file system<\/b>\n<ul>\n<li class=\"l\"> Nel meccanismo fanotify sono stati aggiunti strumenti per monitorare lo stato del file system e per tracciare l'insorgere di errori. Le informazioni sugli errori vengono trasmesse tramite un nuovo tipo di eventi \u2014 FAN_FS_ERROR, che possono essere intercettati nei sistemi di monitoraggio in user space per informare prontamente l'amministratore o avviare processi di recupero. In caso di insorgenza a cascata di una serie di errori, fanotify garantisce la consegna del messaggio relativo al primo errore insieme a un contatore totale dei problemi, per semplificare l'analisi successiva delle cause del malfunzionamento. Attualmente, il supporto per il monitoraggio degli errori \u00e8 implementato solo per il file system Ext4.\n<li class=\"l\"> Migliorata la gestione dei sovraccarichi durante l'esecuzione delle operazioni di scrittura (write congestion), che si verificano quando il volume delle operazioni di scrittura supera la capacit\u00e0 del dispositivo e il sistema \u00e8 costretto a bloccare le richieste del processo di scrittura fino al completamento delle richieste gi\u00e0 inviate. Nella nuova versione \u00e8 stato completamente riprogettato il meccanismo del kernel utilizzato per ottenere informazioni sui sovraccarichi e il blocco dei task, poich\u00e9 nella precedente implementazione si riscontravano problemi di interazione tra la gestione del sovraccarico di scrittura e la sostituzione delle pagine di memoria nell'area di swap in caso di insufficienza di memoria nel sistema.\n<li class=\"l\"> In Btrfs \u00e8 implementato il supporto per la tecnologia di zonizzazione dei dispositivi (Zoned Namespace), utilizzata nei dischi rigidi o negli SSD NVMe per suddividere lo spazio di archiviazione in zone, costituite da gruppi di blocchi o settori, ai quali \u00e8 consentito solo l'aggiunta sequenziale di dati con l'aggiornamento dell'intero gruppo di blocchi. Inoltre, sono state apportate piccole ottimizzazioni al logging degli inode, che hanno consentito un aumento della capacit\u00e0 di throughput del 3% nel test dbench e una riduzione dei tempi di attesa dell'11%. \u00c8 stato riprogettato il meccanismo di logging delle directory, in cui per migliorare l'efficienza \u00e8 stato ridotto il numero di operazioni di ricerca e di locking nell'albero. \u00c8 stata accelerata l'inserzione di elementi nella struttura btree in modalit\u00e0 batch (il tempo di inserimento massivo degli elementi \u00e8 diminuito del 4%, mentre quello di eliminazione \u00e8 diminuito del 12%). \u00c8 stato aggiunto il supporto limitato per l'uso della compressione durante la scrittura di pagine incomplete, cos\u00ec come la possibilit\u00e0 di deframmentare le subpage. \u00c8 stata eseguita la preparazione per abilitare il supporto per la seconda versione del protocollo per il comando &#171;send&#187;.\n<li class=\"l\"> Nel file system XFS \u00e8 stata ridotta la memoria utilizzata grazie all'uso di cache separate per gli elementi pi\u00f9 frequentemente usati e alla riduzione di alcune strutture dati.\n<li class=\"l\"> Nel file system Ext4 sono stati registrati solo bug fixes e un calcolo pi\u00f9 preciso dei parametri di inizializzazione ritardata della tabella inode.\n<li class=\"l\"> A livello di dispositivi a blocchi sono state implementate ottimizzazioni che consentono di aumentare significativamente l'efficienza dell'associazione delle operazioni ai core CPU.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto iniziale per dischi rigidi con pi\u00f9 attuatori indipendenti (multi-actuator), che permettono di accedere simultaneamente a pi\u00f9 settori in diverse zone del piatto magnetico.\n<li class=\"l\"> \u00c8 stato aggiunto un nuovo comando ioctl CDROM_TIMED_MEDIA_CHANGE per identificare gli eventi di cambio supporto nell'unit\u00e0 di dischi ottici.\n<li class=\"l\"> Nel file system EROFS (Enhanced Read-Only File System) \u00e8 stata aggiunta la possibilit\u00e0 di operare su pi\u00f9 dispositivi di archiviazione. Dispositivi diversi possono essere riflessi in un unico spazio di indirizzamento a blocchi a 32 bit. \u00c8 stata inoltre aggiunta la supporto per la compressione utilizzando l'algoritmo LZMA.\n<li class=\"l\"> Nel FS F2FS sono state aggiunte opzioni di montaggio per gestire la frammentazione dei file durante la memorizzazione (ad esempio, per il debug delle ottimizzazioni del funzionamento con archiviazioni frammentate).\n<li class=\"l\"> In CEPH sono state incluse per impostazione predefinita le operazioni di creazione e cancellazione di directory in modalit\u00e0 asincrona (per ripristinare il comportamento precedente \u00e8 necessario utilizzare il flag &#8216;-o wsync&#8217; al momento del montaggio). \u00c8 stata aggiunta la registrazione delle metriche per monitorare le operazioni di copia degli oggetti esterni.\n<li class=\"l\"> In CIFS \u00e8 stato aggiunto il parametro di montaggio tcpnodelay, che disabilita l'attesa di riempimento della coda nel TCP stack per il socket di rete impostando la modalit\u00e0 tcp_sock_set_nodelay. \u00c8 stato aggiunto il supporto per collegamenti DFS nidificati (Distributed File System) durante il rimontaggio.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per il completamento delle richieste ai dispositivi a blocchi in modalit\u00e0 batch. I test sulla modifica hanno mostrato un aumento dell'intensit\u00e0 delle operazioni di lettura casuale da unit\u00e0 Optane da 6.1 a 6.6 milioni di IOPS su un singolo core CPU.                            <\/ul>\n<li class=\"l\"> <b>Memoria e servizi di sistema<\/b>\n<ul>\n<li class=\"l\"> \u00c8 stata aggiunta una nuova chiamata di sistema futex_waitv, che consente di monitorare lo stato di pi\u00f9 futex contemporaneamente con una sola chiamata di sistema. Questa funzionalit\u00e0 ricorda quella disponibile in Windows chiamata WaitForMultipleObjects, la cui emulazione tramite futex_waitv potrebbe essere utile per migliorare le prestazioni dei giochi Windows eseguiti tramite Wine o Proton. Inoltre, l'attesa simultanea dei futex pu\u00f2 essere utilizzata anche per ottimizzare le prestazioni delle versioni native dei giochi per Linux.\n<li class=\"l\"> \u00c8 stata realizzata la concezione dei foni delle pagine di memoria (page folios), il cui utilizzo in alcuni sottosistemi del kernel consentir\u00e0 di accelerare la gestione della memoria sotto carichi tipici. Attualmente, la principale sottosistema di gestione della memoria nel kernel \u00e8 gi\u00e0 stata tradotta in foni e viene implementata la cache delle pagine, mentre in futuro \u00e8 previsto il passaggio dei file system. Inoltre, in futuro si prevede di aggiungere supporto per i foni multipagina nel kernel.\n<p> I foni ricordano le pagine di memoria consolidate (compound pages), ma si distinguono per una semantica migliorata e una organizzazione del lavoro pi\u00f9 chiara. Per gestire la memoria di sistema, la RAM disponibile viene suddivisa in pagine di memoria, il cui dimensione dipende dall'architettura, ma nei sistemi x86 \u00e8 misurata in kilobyte (di solito 4096 byte). I sistemi moderni sono dotati di decine di gigabyte di RAM, il che complica la gestione della memoria a causa della necessit\u00e0 di elaborare un numero enorme di pagine di memoria. Per ridurre il numero di pagine, in precedenza nel kernel \u00e8 stata realizzata la concezione delle pagine consolidate (compound pages) con strutture che coprono pi\u00f9 di una pagina di memoria fisica. Tuttavia, l'API per la manipolazione delle pagine consolidate lasciava a desiderare e portava a costi aggiuntivi.    <\/p>\n<li class=\"l\"> Nel pianificatore di attivit\u00e0 \u00e8 stato aggiunto un gestore che tiene conto della clusterizzazione della cache nel CPU. In alcuni processori, come il Kunpeng 920 (ARM) e l'Intel Jacobsville (x86), un certo numero di core CPU, di solito 4, pu\u00f2 condividere la cache L3 o L2. La considerazione di tali topologie pu\u00f2 aumentare significativamente l'efficacia della distribuzione delle attivit\u00e0 tra i core CPU nel pianificatore di attivit\u00e0, poich\u00e9 il movimento delle attivit\u00e0 all'interno di un cluster CPU consente di aumentare la capacit\u00e0 di elaborazione della memoria e ridurre la competizione nella cache.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per le istruzioni AMX (Advanced Matrix Extensions), implementate nei prossimi processori server Intel Xeon Scalable, sviluppati con il nome in codice Sapphire Rapids. AMX offre nuovi registri configurabili TMM &#171;TILE&#187; e istruzioni per la manipolazione dei dati in questi registri, come TMUL (Tile matrix MULtiply) per la moltiplicazione delle matrici.\n<li class=\"l\"> Sono state implementate diverse nuove funzionalit\u00e0, basate sul sottosistema DAMON (Data Access MONitor) aggiunto nell'ultima versione, che consente di monitorare l'accesso ai dati nella memoria RAM, in relazione a un processo specifico in esecuzione nello spazio utente. Ad esempio, il sottosistema permette di analizzare quali aree di memoria sono state richieste dal processo nel corso della sua esecuzione e quali aree di memoria sono rimaste inutilizzate.\n<ul>\n<li class=\"l\"> DAMON_RECLAIM per identificare e rimuovere le aree di memoria che non sono state utilizzate. Il meccanismo pu\u00f2 essere utilizzato per un'espulsione preventiva dolce delle pagine di memoria quando si avvicina a una situazione di esaurimento della memoria disponibile.\n<li class=\"l\"> DAMOS (Data Access Monitoring-based Operation Schemes) per applicare operazioni madvise() specifiche, come il rilascio di ulteriore memoria libera, a aree di memoria del processo per le quali viene registrata una certa frequenza di accesso alla memoria. La configurazione dei parametri di DAMOS viene effettuata tramite debugfs.\n<li class=\"l\"> \u00c8 possibile monitorare lo spazio di indirizzamento fisico della memoria (in precedenza era possibile monitorare solo indirizzi virtuali).  <\/ul>\n<li class=\"l\"> L'implementazione dell'algoritmo di compressione zstd \u00e8 stata aggiornata alla versione 1.4.10, il che ha notevolmente aumentato le prestazioni di vari sottosistemi del kernel in cui viene applicata la compressione (ad esempio, il decompressione dell'immagine del kernel \u00e8 stata accelerata del 35%, mentre le prestazioni della decompressione dei dati compressi in Btrfs e SquashFS sono aumentate del 15%, e in ZRAM del 30%). Inizialmente, nel kernel era stata utilizzata un'implementazione separata di zstd, basata sulla versione 1.3.1, rilasciata pi\u00f9 di tre anni fa e che non includeva molte ottimizzazioni importanti. Oltre al passaggio alla versione attuale, la patch aggiunta semplifica anche la sincronizzazione con il ramo upstream di zstd, permettendo di generare codice per l'inclusione nel kernel direttamente dal repository principale di zstd. In futuro, il codice zstd nel kernel sar\u00e0 aggiornato man mano che verranno rilasciate nuove versioni della libreria zstd.\n<li class=\"l\"> \u00c8 stata introdotta una grande serie di miglioramenti nel sottosistema eBPF. \u00c8 stata aggiunta la possibilit\u00e0 di chiamare funzioni dei moduli del kernel dalle programmazioni BPF. \u00c8 stata implementata la funzione bpf_trace_vprintk(), che, a differenza di bpf_trace_printk(), consente di stampare pi\u00f9 di tre argomenti contemporaneamente. \u00c8 stata aggiunta una nuova struttura di archiviazione dei dati (BPF map) bloom filter, che consente di utilizzare la stessa struttura di dati probabilistica per determinare la presenza di un elemento in un insieme. \u00c8 stato aggiunto un nuovo attributo BTF_KIND_TAG, che pu\u00f2 essere utilizzato nelle programmazioni BPF per associare tag ai parametri delle funzioni, ad esempio, per semplificare l'identificazione degli errori nei programmi degli utenti. In libbpf \u00e8 stata autorizzata la creazione di sezioni personalizzate .rodata.* \/ .data.*, \u00e8 stato implementato il supporto per gli eventi di tracciamento uprobe e kprobe, e aggiunto un'API per copiare tutti i tipi di BTF da un oggetto all'altro. Il supporto AF_XDP \u00e8 stato separato da libbpf in una libreria distinta libxdp. \u00c8 stato implementato un compilatore JIT per la macchina virtuale BPF per l'architettura MIPS.\n<li class=\"l\"> Per l'architettura ARM64 \u00e8 stato implementato il supporto per le estensioni ARMv8.6 per il timer, che consentono, tra l'altro, di garantire l'auto-sincronizzazione della rappresentazione dei registri di sistema senza utilizzare istruzioni ISB.\n<li class=\"l\"> Per l'architettura PA-RISC \u00e8 stata implementata la possibilit\u00e0 di applicare il meccanismo KFENCE per rilevare errori nella gestione della memoria, ed \u00e8 stato aggiunto il supporto per il rilevatore di condizioni di gara KCSAN.\n<li class=\"l\"> \u00c8 stata fornita la possibilit\u00e0 di configurare i diritti di accesso a tracefs a livello di singoli utenti e gruppi, ad esempio, consentendo ora l'accesso agli strumenti di tracciamento solo ai membri di un determinato gruppo.                        <\/ul>\n<li class=\"l\"> <b>Virtualizzazione e sicurezza<\/b>\n<ul>\n<li class=\"l\"> Nei sottosistemi io_uring e device-mapper \u00e8 stato implementato il supporto per la generazione di eventi di audit. In io_uring \u00e8 stata fornita la possibilit\u00e0 di gestire l'accesso tramite moduli LSM. \u00c8 stata aggiunta la possibilit\u00e0 di audire la chiamata di sistema openat2().\n<li class=\"l\"> Il codice del kernel \u00e8 stato completamente liberato da espressioni case non discontinue nel costrutto switch (senza return o break dopo ogni blocco case). Durante la compilazione del kernel, ora sar\u00e0 possibile utilizzare la modalit\u00e0 \u00ab-Wimplicit-fallthrough\u00bb.\n<li class=\"l\"> Sono state incluse modifiche per inasprire i controlli dei limiti durante l'esecuzione della funzione memcpy().\n<li class=\"l\"> Nell'interfaccia di input\/output asincrono io_uring \u00e8 stata implementata la possibilit\u00e0 di applicare politiche di sicurezza definite dai moduli SELinux e Smack alle operazioni di input\/output.\n<li class=\"l\"> Nel sottosistema IMA (Integrity Measurement Architecture), che consente a un servizio esterno di verificare lo stato dei sottosistemi del kernel per garantire la loro autenticit\u00e0, \u00e8 stata implementata la possibilit\u00e0 di applicare regole basate sull'identificatore di gruppo (GID) a cui appartiene il file o a cui appartiene l'utente che accede al file.\n<li class=\"l\"> Sono disattivati di default alcuni meccanismi avanzati di protezione dei flussi seccomp() contro attacchi di tipo Spectre, ritenuti eccessivi e non significativamente migliorativi della sicurezza, ma con un impatto negativo sulle prestazioni. \u00c8 stata rivista l'implementazione della protezione Retpoline.\n<li class=\"l\"> \u00c8 stata rimossa l'implementazione del meccanismo cryptoloop, sostituito nel 2004 da dm-crypt, che supporta, se necessario, gli stessi algoritmi.\n<li class=\"l\"> L'accesso non privilegiato al sottosistema eBPF \u00e8 stato vietato per default. Questa modifica \u00e8 stata apportata per prevenire l'uso di programmi BPF per aggirare le protezioni contro attacchi tramite canali laterali. Se necessario, l'amministratore pu\u00f2 ripristinare la possibilit\u00e0 di utilizzo di eBPF da parte di utenti non privilegiati.\n<li class=\"l\"> Nel hypervisor ACRN, progettato per eseguire compiti in tempo reale e utilizzato in sistemi critici, \u00e8 stata aggiunta la supporto per la creazione\/rimozione di dispositivi virtuali e per il passaggio dei dispositivi MMIO.\n<li class=\"l\"> Nel cryptodriver \u00e8 stata aggiunta la supporto per le definizioni KPP (Key-agreement Protocol Primitives), che semplificano la logica di sviluppo dei driver per le crittosistemi.\n<li class=\"l\"> Per l'hypervisor Hyper-V \u00e8 stata implementata la supporto per la modalit\u00e0 di isolamento <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/vps\/\"   title=\"macchine virtuali\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2084\">macchine virtuali<\/a>, che implica la crittografia del contenuto della memoria.\n<li class=\"l\"> Nell'hypervisor <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/vps\/abuzoustojchivye-vps\/\"   title=\"KVM\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4404\">KVM<\/a> \u00e8 stata aggiunta la supporto per l'architettura RISC-V. \u00c8 stata implementata la possibilit\u00e0 di migrazione all'interno dell'ambiente host delle macchine virtuali, eseguite utilizzando le estensioni AMD SEV e SEV-ES. \u00c8 stata aggiunta un'API per la migrazione live dei sistemi guest, crittografati utilizzando AMD SEV (Secure Encrypted Virtualization).\n<li class=\"l\"> Per l'architettura PowerPC \u00e8 stata abilitata di default la modalit\u00e0 STRICT_KERNEL_RWX, che blocca l'uso delle pagine di memoria accessibili contemporaneamente in scrittura e in esecuzione.\n<li class=\"l\"> Nei sistemi a 32 bit x86 \u00e8 cessata la supporto per il collegamento a caldo della memoria (Memory hotplug), che era non funzionante da oltre un anno.\n<li class=\"l\"> \u00c8 stata esclusa dal kernel la libreria liblockdep, che ora sar\u00e0 gestita separatamente dal kernel.                  <\/ul>\n<li class=\"l\"> <b>Sottosistema di rete<\/b>\n<ul>\n<li class=\"l\"> Per i socket \u00e8 stata implementata una nuova opzione SO_RESERVE_MEM, che consente di riservare una certa quantit\u00e0 di memoria per il socket, che rimarr\u00e0 sempre disponibile e non sar\u00e0 utilizzata. L'uso di questa opzione permette di aumentare le prestazioni riducendo le operazioni di allocazione e rilascio di memoria nello stack di rete, specialmente in caso di condizioni di carenza di memoria nel sistema.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per il protocollo di tunneling automatico del traffico multicast (Automatic Multicast Tunneling, RFC 7450), che consente di consegnare il traffico multicast da reti che supportano il Multicast a destinatari in reti senza Multicast. Il protocollo funziona tramite incapsulamento in pacchetti UDP.\n<li class=\"l\"> \u00c8 stata migliorata l'incapsulazione dei dati IOAM (In-situ Operations, Administration, and Maintenance) nei pacchetti di transito.\n<li class=\"l\"> Nell'API netlink di ethtool \u00e8 stata aggiunta la possibilit\u00e0 di gestire le modalit\u00e0 di consumo energetico dei trasmettitori.\n<li class=\"l\"> Nel sottosistema netfilter \u00e8 stata realizzata la possibilit\u00e0 di classificare i pacchetti a livello egress, ovvero quando il driver riceve il pacchetto dallo stack di rete del kernel. In nftables, il supporto per i filtri pertinenti \u00e8 stato introdotto nella versione 1.0.1. In netfilter \u00e8 stata aggiunta la possibilit\u00e0 di mappare e modificare gli header e i dati interni per UDP e TCP (inner header \/ payload), che seguono l'header di trasporto (transport header).\n<li class=\"l\"> Sono stati aggiunti nuovi parametri sysctl arp_evict_nocarrier e ndisc_evict_nocarrier, la cui impostazione comporta la pulizia della cache ARP e della tabella ndisc (neighbor discovery) in caso di interruzione della connessione (NOCARRIER).\n<li class=\"l\"> Nel meccanismo di gestione delle code di rete fq_codel (Controlled Delay) sono state aggiunte le modalit\u00e0 Low Latency, Low Loss e Scalable Throughput (L4S).                          <\/ul>\n<li class=\"l\"> <b>Apparecchiatura<\/b>\n<ul>\n<li class=\"l\"> Nella driver amdgpu \u00e8 stato implementato un supporto iniziale per la specifica DP 2.0 (DisplayPort 2.0) e la possibilit\u00e0 di tunneling di DisplayPort tramite USB4. Per APU Cyan Skillfish (equipaggiati con GPU Navi 1x) \u00e8 stato aggiunto il supporto per i controller dello schermo. \u00c8 stato ampliato il supporto per gli APU Yellow Carp (processori mobili Ryzen 6000 \u00abRembrandt\u00bb).\n<li class=\"l\"> Nel driver i915 \u00e8 stato stabilizzato il supporto per i chip Intel Alderlake S e implementato il supporto per la tecnologia Intel PXP (Protected Xe Path), che consente l'organizzazione di una sessione grafica protetta a livello hardware su sistemi con chip Intel Xe.\n<li class=\"l\"> Nel driver nouveau sono stati effettuati lavori di correzione degli errori e miglioramento dello stile del codice.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per le CPU Vortex compatibili con x86 (Vortex86MX). Linux su processori simili ha funzionato in precedenza, ma \u00e8 stata necessaria un'identificazione esplicita di tali CPU per disabilitare la protezione contro gli attacchi Spectre\/Meltdown, che non sono applicabili ai chip indicati.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto iniziale per le piattaforme x86 Surface Pro 8 e Surface Laptop Studio.\n<li class=\"l\"> \u00c8 stato aggiunto un driver per il supporto dei chip audio utilizzati negli APU AMD Yellow Carp, Van Gogh, e sono stati aggiunti il supporto per i sistemi audio e i codec Cirrus CS35L41, Maxim MAX98520\/MAX98360A, Mediatek MT8195, Nuvoton NAU8821, NVIDIA Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS, RT5682S, RT9120, Rockchip RV1126 e RK3568.\n<li class=\"l\"> \u00c8 stato aggiunto il driver ishtp_eclite per accedere ai controller integrati Intel PSE (Programmable Service Engine) tramite il protocollo ISHTP (Integrated Sensor Hub Transport Protocol), ad esempio, per ottenere dati sulla batteria, temperatura e informazioni relative a UCSI (USB Type-C Connector System Software Interface).\n<li class=\"l\"> \u00c8 stato aggiunto il driver per i controller di gioco Nintendo Switch, che supporta i dispositivi Switch Pro e Joy-Cons. \u00c8 stato aggiunto il supporto per le tavolette Wacom Intuos BT (CTL-4100WL\/CTL-6100WL) e la tastiera Apple 2021 Magic Keyboard. \u00c8 stato migliorato il supporto per i controller Sony PlayStation DualSense. \u00c8 stato aggiunto il supporto per i pulsanti laterali del mouse Xiaomi Mi.\n<li class=\"l\"> \u00c8 stato aggiunto il driver RT89 con supporto per i chip wireless Realtek 802.11ax, cos\u00ec come i driver per gli adattatori Ethernet Asix AX88796C-SPI e gli switch Realtek RTL8365MB-VC.\n<li class=\"l\"> Per i chip Apple M1 sono stati aggiunti driver per PCI e PASemi i2c.\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per ARM SoC, dispositivi e schede Raspberry Pi Compute Module 4, Fairphone 4, Snapdragon 690, LG G Watch R, Sony Xperia 10 III, Samsung Galaxy S4 Mini Value Edition, Xiaomi MSM8996 (Mi 5, Mi Note 2, Mi 5s, Mi Mix, Mi 5s Plus e Xiaomi Mi 5), Sony Yoshino (Sony Xperia XZ1 e Sony Xperia XZ Premium), F(x)tec Pro1 QX1000, Microchip LAN966, CalAmp LMU5000, Exegin Q5xR5, sama7g5, Samsung ExynosAutov9, Rockchip RK3566, RK3399 ROCK Pi 4A+, RK3399 ROCK Pi 4B+, Firefly ROC-RK3328-PC, Firefly ROC-RK3399-PC-PLUS, ASUS Chromebook Tablet CT100, Pine64 Quartz64-A, Netgear GS110EMX, Globalscale MOCHAbin 7040, NXP S32G2, Renesas R8A779M*, Xilinx Kria, Radxa Zero, JetHub D1\/H1, Netronix E70K02.          <\/ul>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56478\">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 5.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: \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 futex_waitv \u0434\u043b\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 Windows-\u0438\u0433\u0440 \u0432 Wine, \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u0424\u0421 \u0447\u0435\u0440\u0435\u0437 fanotify, \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u0444\u043e\u043b\u0438\u0430\u043d\u0442\u043e\u0432 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 AMX, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0437\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u0441\u043e\u043a\u0435\u0442\u0430\u043c\u0438, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432 netfilter \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 &#171;egress&#187;, \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435 [&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-102933","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 5.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-5-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 5.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 5.16.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-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=\"2022-01-10T13:36:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-01-10T13:36:38+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 5.16 | ProHoster","description":"Dopo due mesi di sviluppo, Linus Torvalds ha presentato il rilascio del kernel Linux 5.16.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-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 5.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 5.16.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-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":"2022-01-10T13:36:38+00:00","article:modified_time":"2022-01-10T13:36:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102933","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-01-10 13:37:39","updated":"2026-02-09 17:11:18","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\/102933","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=102933"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/102933\/revisions"}],"predecessor-version":[{"id":164281,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/102933\/revisions\/164281"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=102933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=102933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=102933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}