{"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 su Wine, il monitoraggio degli errori nel filesystem tramite fanotify, il concetto di volumi nel sistema di gestione della memoria, il supporto per le istruzioni del processore AMX, la possibilit\u00e0 di riservare memoria per i socket di rete, il supporto in netfilter per la classificazione dei pacchetti alla fase 'egress', l'utilizzo del sottosistema DAMON per l'anticipazione del rilascio di aree di memoria non utilizzate, il miglioramento del trattamento dei sovraccarichi con un alto volume di operazioni di scrittura, e il supporto per dischi rigidi multi-drive.    <\/p>\n<p>La nuova versione include 15415 patch da 2105 sviluppatori, con una dimensione totale di 45 MB (le modifiche riguardano 12023 file, sono state aggiunte 685198 righe di codice e rimosse 263867 righe). Circa il 44% di tutte le modifiche in 5.16 riguardano i driver dei dispositivi, circa il 16% le modifiche relative all'aggiornamento del codice specifico per architetture hardware, il 16% \u00e8 collegato allo stack di rete, il 4% ai filesystem 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 disco, I\/O e file system<\/b>\n<ul>\n<li class=\"l\"> Il meccanismo fanotify ha introdotto strumenti per il monitoraggio dello stato del filesystem e l'individuazione degli errori. Le informazioni sugli errori sono trasmesse tramite un nuovo tipo di evento - FAN_FS_ERROR, che pu\u00f2 essere intercettato nei sistemi di monitoraggio in spazio utente per informare rapidamente l'amministratore o avviare processi di recupero. In caso di una serie di errori in cascata, fanotify garantisce la consegna di un messaggio per il primo errore insieme a un contatore totale dei problemi, per facilitare l'analisi delle cause del guasto. Il supporto per il monitoraggio degli errori \u00e8 attualmente implementato solo per il filesystem Ext4.\n<li class=\"l\"> Migliorata la gestione della congestione durante le operazioni di scrittura, che si verifica quando il volume delle operazioni di scrittura supera la capacit\u00e0 di elaborazione della memoria 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 raccogliere informazioni sulla congestione e sul blocco dei compiti, poich\u00e9 nella vecchia implementazione si riscontravano problemi relativi all'accoppiamento della gestione della congestione di scrittura con l'espulsione delle pagine di memoria nella swap quando la memoria di sistema era insufficiente.\n<li class=\"l\"> In Btrfs \u00e8 stato implementato il supporto per la tecnologia di zonizzazione dei dispositivi (Zoned Namespace), utilizzata in dischi rigidi o NVMe SSD per suddividere lo spazio di archiviazione in zone, composte da gruppi di blocchi o settori, in cui \u00e8 consentito solo l'aggiunta sequenziale di dati, aggiornando l'intero gruppo di blocchi. Inoltre, sono state apportate piccole ottimizzazioni al logging degli inode, che hanno consentito di aumentare la larghezza di banda nel test dbench del 3% e ridurre la latenza dell'11%. \u00c8 stato rielaborato il meccanismo di logging delle directory, riducendo il numero di operazioni di ricerca e bloccaggi nell'albero per migliorare l'efficacia. \u00c8 stata accelerata l'inserzione di elementi nella struttura btree in modalit\u00e0 batch (il tempo di inserimento di massa \u00e8 diminuito del 4%, mentre quello di eliminazione del 12%). \u00c8 stato aggiunto un supporto limitato per l'uso della compressione nella scrittura di pagine non complete, oltre alla possibilit\u00e0 di deframmentazione delle subpage. \u00c8 stata effettuata una preparazione per l'aggiunta del supporto alla seconda versione del protocollo per il comando 'send'.\n<li class=\"l\"> Nel file system XFS \u00e8 stata ridotta l'occupazione di memoria grazie all'uso di cache slab separate per gli elementi frequentemente utilizzati e alla riduzione di alcune strutture dati.\n<li class=\"l\"> Nel file system Ext4 sono state effettuate solo correzioni di bug e un calcolo pi\u00f9 preciso dei parametri per l'inizializzazione ritardata della tabella degli inode.\n<li class=\"l\"> A livello di dispositivi a blocchi sono state implementate ottimizzazioni che aumentano sostanzialmente l'efficienza del legame delle operazioni con i core CPU.\n<li class=\"l\"> \u00c8 stato aggiunto un supporto iniziale per i dischi rigidi con pi\u00f9 attuatori indipendenti (multi-actuator), che consentono 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 rilevare eventi di cambio supporto nel lettore 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 rappresentati in un unico spazio di indirizzamento a 32 bit per i blocchi. \u00c8 stato inoltre aggiunto il supporto per la compressione utilizzando l'algoritmo LZMA.\n<li class=\"l\"> Nel file system F2FS sono state aggiunte opzioni di montaggio per gestire la frammentazione dei file durante la memorizzazione (ad esempio, per il debug delle ottimizzazioni relative a memorie frammentate).\n<li class=\"l\"> In CEPH sono incluse di default le operazioni di creazione e cancellazione di directory in modalit\u00e0 asincrona (per ripristinare il comportamento precedente, utilizzare il flag '-o wsync' durante il montaggio). \u00c8 stata aggiunta la registrazione delle metriche che monitorano le operazioni di copia di oggetti esterni.\n<li class=\"l\"> In CIFS \u00e8 stato aggiunto il parametro di montaggio tcpnodelay, che imposta il socket di rete in modalit\u00e0 tcp_sock_set_nodelay, disattivando l'attesa per il riempimento della coda nel stack TCP. Aggiunta la supporto per i link DFS (Distributed File System) annidati durante il rimontaggio.\n<li class=\"l\"> \u00c8 stata aggiunta la supporto per la conclusione delle richieste ai dispositivi a blocchi in modalit\u00e0 batch. I test delle modifiche hanno mostrato un aumento dell'intensit\u00e0 delle operazioni di lettura casuale dai dispositivi Optane, passando 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 stato aggiunto una nuova chiamata di sistema futex_waitv, che consente di monitorare lo stato di pi\u00f9 futex contemporaneamente tramite una sola chiamata. Questa funzionalit\u00e0 ricorda quella di Windows, WaitForMultipleObjects, la cui emulazione attraverso futex_waitv pu\u00f2 essere utile per migliorare le prestazioni dei giochi Windows eseguiti sotto 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 implementata la concezione dei folii di memoria (page folios), il cui utilizzo in alcune sottosistemi del kernel consentir\u00e0 di accelerare la gestione della memoria sotto carichi tipici. Attualmente, la principale sottosistema di gestione della memoria nel kernel e l'implementazione della cache delle pagine sono gi\u00e0 stati convertiti ai folii, e in futuro \u00e8 previsto il supporto per i file system. Inoltre, si prevede che il kernel aggiunga anche il supporto per i folii multipezzo.\n<p> I fogli di memoria composti ricordano le pagine di memoria unite (compound pages), ma si distinguono per una semantica migliorata e un'organizzazione del lavoro pi\u00f9 chiara. Per gestire la memoria di sistema, la RAM disponibile viene suddivisa in pagine di memoria, le cui dimensioni variano a seconda dell'architettura, ma nei sistemi x86 vengono misurate in kilobyte (solitamente 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 implementata la concettualizzazione delle pagine composte (compound pages) con strutture che coprono pi\u00f9 di una pagina fisica di memoria. Tuttavia, l'API per la manipolazione delle pagine di memoria composte lasciava a desiderare e comportava costi aggiuntivi.    <\/p>\n<li class=\"l\"> Nel pianificatore di attivit\u00e0 \u00e8 stato aggiunto un gestore che tiene conto della clusterizzazione della cache nella 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 combinare la cache L3 o L2. Considerare tali topologie pu\u00f2 migliorare notevolmente l'efficacia della distribuzione delle attivit\u00e0 tra i core CPU nel pianificatore, poich\u00e9 il trasferimento di attivit\u00e0 all'interno di un cluster CPU consente di aumentare la larghezza di banda di accesso alla 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 personalizzabili TMM 'TILE' e istruzioni per manipolare i dati in questi registri, come TMUL (Tile matrix MULtiply) per la moltiplicazione di matrici.\n<li class=\"l\"> Sono state implementate diverse nuove funzionalit\u00e0 basate sul sottosistema DAMON (Data Access MONitor) aggiunto nell'ultima release, che consente di monitorare l'accesso ai dati nella memoria RAM, in riferimento al processo selezionato in esecuzione nello spazio utente. Ad esempio, il sottosistema offre la possibilit\u00e0 di analizzare quali aree di memoria sono state accessibili dal processo durante il suo funzionamento e quali aree di memoria sono rimaste inutilizzate.\n<ul>\n<li class=\"l\"> DAMON_RECLAIM per identificare ed espellere le aree di memoria a cui non si \u00e8 fatto accesso. Questo meccanismo pu\u00f2 essere utilizzato per un'espulsione morbida proattiva delle pagine di memoria quando ci si avvicina all'esaurimento della memoria libera.\n<li class=\"l\"> DAMOS (Data Access Monitoring-based Operation Schemes) per applicare operazioni madvise() specifiche, come il rilascio di ulteriore memoria libera, alle aree di memoria del processo per le quali si registra una certa frequenza di accesso alla memoria. La configurazione dei parametri di DAMOS avviene tramite debugfs.\n<li class=\"l\"> Possibilit\u00e0 di monitorare lo spazio indirizzabile fisico della memoria (in precedenza si potevano monitorare solo gli indirizzi virtuali).  <\/ul>\n<li class=\"l\"> L'implementazione dell'algoritmo di compressione zstd \u00e8 stata aggiornata alla versione 1.4.10, migliorando notevolmente le prestazioni di vari sottosistemi del kernel in cui viene utilizzata la compressione (ad esempio, il decompressore dell'immagine del kernel \u00e8 stato accelerato del 35%, la prestazione di decompressione dei dati compressi in Btrfs e SquashFS \u00e8 aumentata del 15%, mentre in ZRAM del 30%). Inizialmente, il kernel utilizzava una versione separata di zstd, basata sulla versione 1.3.1, rilasciata oltre tre anni fa e non comprendente molte ottimizzazioni importanti. Oltre all'aggiornamento alla versione attuale, la patch aggiunta semplifica anche la sincronizzazione con il ramo upstream di zstd, consentendo 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 apportata una grande quantit\u00e0 di miglioramenti al sottosistema eBPF. \u00c8 stata aggiunta la possibilit\u00e0 di invocare funzioni dei moduli del kernel da programmi BPF. \u00c8 stata implementata la funzione bpf_trace_vprintk(), che consente, a differenza di bpf_trace_printk(), di stampare pi\u00f9 di tre argomenti contemporaneamente. \u00c8 stata aggiunta una nuova struttura di memorizzazione dei dati (BPF map) chiamata bloom filter, che consente di utilizzare la corrispondente struttura di dati probabilistici per determinare la presenza di un elemento in un insieme. \u00c8 stato aggiunto un nuovo attributo BTF_KIND_TAG, utilizzabile nei programmi BPF per associare tag ai parametri delle funzioni, ad esempio per semplificare l'individuazione di errori nei programmi degli utenti. In libbpf \u00e8 consentita la creazione di sezioni personalizzate .rodata.*\/.data.*, \u00e8 stata implementata il supporto per gli eventi di tracciamento uprobe e kprobe, e aggiunto un API per copiare tutti i tipi di BTF da un oggetto a un altro. Il supporto per AF_XDP \u00e8 stato estratto da libbpf in una libreria separata chiamata libxdp. Per l'architettura MIPS \u00e8 stato implementato un compilatore JIT per la macchina virtuale BPF.\n<li class=\"l\"> Per l'architettura ARM64 \u00e8 stato implementato il supporto per le estensioni ARMv8.6 per il timer, comprese quelle che consentono di garantire l'auto-sincronizzazione della rappresentazione dei registri di sistema senza l'uso delle istruzioni ISB.\n<li class=\"l\"> Per l'architettura PA-RISC \u00e8 stata implementata la possibilit\u00e0 di utilizzare il meccanismo KFENCE per rilevare errori nella gestione della memoria, ed \u00e8 stata aggiunta la supporto per il rilevatore di condizioni di gara KCSAN.\n<li class=\"l\"> \u00c8 ora possibile configurare i diritti di accesso a tracefs a livello di singoli utenti e gruppi: ad esempio, \u00e8 possibile consentire 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 stata implementata la supporto per la generazione di eventi di audit. In io_uring \u00e8 possibile gestire l'accesso tramite moduli LSM. \u00c8 stata aggiunta la possibilit\u00e0 di auditare la chiamata di sistema openat2().\n<li class=\"l\"> Il codice del kernel \u00e8 stato completamente liberato dalle espressioni non interruzioni nel case dello switch (senza return o break dopo ogni blocco case). Durante la compilazione del kernel, ora sar\u00e0 possibile utilizzare la modalit\u00e0 '-Wimplicit-fallthrough'.\n<li class=\"l\"> Sono state incluse modifiche per rinforzare 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 garantirne l'autenticit\u00e0, \u00e8 implementata la possibilit\u00e0 di applicare regole basate sull'identificatore di gruppo (GID) a cui appartiene il file o in cui rientra l'utente che accede al file.\n<li class=\"l\"> Sono disabilitati per impostazione predefinita alcuni meccanismi avanzati di protezione dei flussi seccomp() contro gli attacchi di tipo Spectre, ritenuti eccessivi e che non aumentano significativamente la sicurezza, ma influenzano negativamente le prestazioni. \u00c8 stata riveduta l'applicazione della protezione Retpoline.\n<li class=\"l\"> \u00c8 stata rimossa l'implementazione del meccanismo cryptoloop, sostituito nel 2004 da dm-crypt, che supporta gli stessi algoritmi se necessario.\n<li class=\"l\"> Per impostazione predefinita, l'accesso non privilegiato al sottosistema eBPF \u00e8 vietato. Questa modifica \u00e8 stata apportata per prevenire l'uso dei programmi BPF per eludere la protezione contro gli attacchi tramite canali laterali. Se necessario, l'amministratore pu\u00f2 ripristinare la possibilit\u00e0 di utilizzo dell'eBPF da parte degli utenti non privilegiati.\n<li class=\"l\"> Nel hypervisor ACRN, progettato per eseguire task in tempo reale e per l'uso in sistemi critici, \u00e8 stata aggiunta la supporto per la creazione e la rimozione di dispositivi virtuali e il passaggio dei dispositivi MMIO.\n<li class=\"l\"> Il motore crittografico ha aggiunto il supporto per le definizioni KPP (Key-agreement Protocol Primitives), semplificando la logica di sviluppo dei driver per i sistemi crittografici.\n<li class=\"l\"> Per l'hypervisor Hyper-V \u00e8 stato implementato il supporto per la modalit\u00e0 di isolamento <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/vps\/\"   title=\"di macchine virtuali\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2084\">di macchine virtuali<\/a>, che prevede la crittografia del contenuto della memoria.\n<li class=\"l\"> Nel hypervisor <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/vps\/abuzoustojchivye-vps\/\"   title=\"KVM\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4404\">KVM<\/a> \u00e8 stato aggiunto il supporto per l'architettura RISC-V. \u00c8 stata realizzata la possibilit\u00e0 di migrazione all'interno dell'ambiente host delle macchine virtuali in esecuzione con l'uso delle estensioni AMD SEV e SEV-ES. \u00c8 stata aggiunta un'API per la migrazione live dei sistemi guest, criptati tramite AMD SEV (Secure Encrypted Virtualization).\n<li class=\"l\"> Per l'architettura PowerPC \u00e8 abilitato di default il modo STRICT_KERNEL_RWX, che blocca l'uso delle pagine di memoria accessibili in scrittura ed esecuzione contemporaneamente.\n<li class=\"l\"> Sui sistemi a 32 bit x86 \u00e8 stata interrotta la supporto per il collegamento a caldo della memoria (Memory hotplug), che era inoperativa da oltre un anno.\n<li class=\"l\"> La libreria liblockdep \u00e8 stata esclusa dal kernel e sar\u00e0 ora mantenuta 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, rendendola sempre disponibile e non soggetta a prelievo. L'uso di questa opzione permette di migliorare le prestazioni riducendo le operazioni di allocazione e liberazione della memoria nello stack di rete, specialmente in condizioni di scarsit\u00e0 di memoria nel sistema.\n<li class=\"l\"> \u00c8 stata aggiunta la supporto per il protocollo di tunneling automatico del traffico multicast (Automatic Multicast Tunneling, RFC 7450), che consente di consegnare il traffico multicast dalle reti che supportano il multicast a riceventi in reti senza multicast. Il protocollo funziona attraverso l'incapsulamento in pacchetti UDP.\n<li class=\"l\"> \u00c8 migliorata l'incapsulazione dei dati IOAM (In-situ Operations, Administration, and Maintenance) nei pacchetti di transito.\n<li class=\"l\"> Nell'API del netlink di ethtool \u00e8 stata aggiunta la possibilit\u00e0 di gestire le modalit\u00e0 di consumo energetico dei trasmettitori e ricevitori.\n<li class=\"l\"> Nel sottosistema netfilter \u00e8 stata implementata la possibilit\u00e0 di classificare i pacchetti a livello egress, cio\u00e8 nella fase in cui il driver riceve un pacchetto dallo stack di rete del kernel. In nftables, il supporto per i filtri corrispondenti \u00e8 apparso nella versione 1.0.1. \u00c8 stata aggiunta la possibilit\u00e0 in netfilter di effettuare il match e modificare intestazioni e dati interni per UDP e TCP (inner header \/ payload), che seguono l'intestazione di trasporto (transport header).\n<li class=\"l\"> Sono stati aggiunti nuovi parametri sysctl arp_evict_nocarrier e ndisc_evict_nocarrier, il cui impiego comporter\u00e0 la pulizia della cache ARP e della tabella ndisc (discovery dei vicini) in caso di interruzione della connessione (NOCARRIER).\n<li class=\"l\"> Nel meccanismo di gestione delle code di rete fq_codel (Controlled Delay) sono stati aggiunti i livelli Low Latency, Low Loss e Scalable Throughput (L4S).                          <\/ul>\n<li class=\"l\"> <b>Attrezzature<\/b>\n<ul>\n<li class=\"l\"> Il driver amdgpu ha implementato il supporto iniziale per la specifica DP 2.0 (DisplayPort 2.0) e le capacit\u00e0 di tunneling DisplayPort attraverso USB4. Per l'APU Cyan Skillfish (dotata di GPU Navi 1x) \u00e8 stato aggiunto il supporto per i controller di visualizzazione. \u00c8 stato ampliato il supporto per l'APU Yellow Carp (processori mobili Ryzen 6000 \u00abRembrandt\u00bb).\n<li class=\"l\"> Nel driver i915 \u00e8 stata stabilizzata la compatibilit\u00e0 con i chip Intel Alderlake S e implementato il supporto per la tecnologia Intel PXP (Protected Xe Path), che consente di gestire una sessione grafica hardware protetta su sistemi con chip Intel Xe.\n<li class=\"l\"> Nel driver nouveau sono stati apportati miglioramenti per risolvere errori e migliorare lo stile di codice.\n<li class=\"l\"> Aggiunto supporto per CPU compatibili con x86 Vortex (Vortex86MX). Linux funzionava gi\u00e0 su questi processori, ma era necessaria un'identificazione esplicita delle CPU per disattivare la protezione contro attacchi Spectre\/Meltdown, che non si applicano ai chip citati.\n<li class=\"l\"> Aggiunto supporto iniziale per le piattaforme x86 Surface Pro 8 e Surface Laptop Studio.\n<li class=\"l\"> Aggiunto driver per il supporto dei chip audio utilizzati negli APU AMD Yellow Carp, Van Gogh; \u00e8 stato anche aggiunto 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\"> Aggiunto driver ishtp_eclite per accedere ai controllori integrati Intel PSE (Programmable Service Engine) tramite il protocollo ISHTP (Integrated Sensor Hub Transport Protocol), ad esempio, per ottenere informazioni sulla batteria, sulla temperatura e sui dati relativi 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 stata aggiunta la compatibilit\u00e0 con i tablet Wacom Intuos BT (CTL-4100WL\/CTL-6100WL) e la tastiera Apple 2021 Magic Keyboard. \u00c8 stata migliorata la compatibilit\u00e0 con i controller Sony PlayStation DualSense. \u00c8 stata aggiunta la compatibilit\u00e0 con 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, oltre ai 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 i driver per PCI e PASemi i2c.\n<li class=\"l\"> \u00c8 stata aggiunta la 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.0.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.0.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}]}}