{"id":33056,"date":"2019-10-31T21:50:30","date_gmt":"2019-10-31T18:50:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/reliz-yadra-linux-5-1\/"},"modified":"2019-10-31T21:50:30","modified_gmt":"2019-10-31T18:50:30","slug":"reliz-yadra-linux-5-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-1","title":{"rendered":"Rilascio del kernel Linux 5.1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dopo due mesi di sviluppo, Linus Torvalds <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2019\/5\/5\/278\">ha presentato<\/a><\/noindex> rilascio del kernel <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\">Linux 5.1<\/a><\/noindex>. Tra le modifiche pi\u00f9 evidenti: una nuova interfaccia per l'input\/output asincrono io_uring, la possibilit\u00e0 di utilizzare NVDIMM come RAM, supporto per la memoria virtuale condivisa in Nouveau, supporto per il monitoraggio scalabile di filesystem molto grandi tramite fanotify, possibilit\u00e0 di configurare i livelli di compressione Zstd in Btrfs, un nuovo gestore cpuidle TEO, implementazione di chiamate di sistema per risolvere il problema del 2038, possibilit\u00e0 di avvio da dispositivi device-mapper senza initramfs, modulo LSM SafeSetID, supporto per patch live combinate.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kernelnewbies.org\/Linux_5.1\">Principali<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/783084\">novit\u00e0<\/a><\/noindex>: <\/p>\n<ul>\n<li class=\"l\"> <b>Sottosistema di disco, input\/output e file system<\/b>\n<ul>\n<li class=\"l\"> \u00c8 stata realizzata una nuova interfaccia per l'I\/O asincrono - <noindex><a rel=\"nofollow\" href=\"http:\/\/kernel.dk\/io_uring.pdf\">io_uring<\/a><\/noindex>, che si distingue per il supporto del polling per l'I\/O e la possibilit\u00e0 di operare sia in modalit\u00e0 bufferizzata che non bufferizzata. Ricordiamo che il meccanismo di I\/O asincrono proposto in precedenza 'aio' non supportava l'I\/O bufferizzato, poteva lavorare solo in modalit\u00e0 O_DIRECT (senza bufferizzazione e bypassando la cache), presentava problemi di blocco a causa dell'attesa della disponibilit\u00e0 dei metadati e mostrava elevate sovraccariche per la copia dei dati in memoria.\n<p>Nell'ambito dell'API<br \/>\nio_uring gli sviluppatori hanno cercato di risolvere le carenze del vecchio interfaccia aio. Per <noindex><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-block\/20190116175003.17880-1-axboe@kernel.dk\/\">delle prestazioni<\/a><\/noindex> io_uring \u00e8 molto vicino a <noindex><a rel=\"nofollow\" href=\"https:\/\/spdk.io\/\">SPDK<\/a><\/noindex> e supera notevolmente libaio quando il polling \u00e8 attivato. Per utilizzare io_uring nelle applicazioni finali che operano in User Space, \u00e8 stata preparata una libreria <noindex><a rel=\"nofollow\" href=\"http:\/\/git.kernel.dk\/cgit\/liburing\/\">liburing<\/a><\/noindex>, che fornisce un collegamento di alto livello sull'interfaccia del kernel;<\/p>\n<li class=\"l\"> Nel meccanismo di monitoraggio degli eventi nel filesystem fanotify() <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/amir73il\/fsnotify-utils\/wiki\/Super-block-root-watch\">\u00e8 stata aggiunta<\/a><\/noindex> supporto per il monitoraggio di situazioni di modifica del superblocco e della struttura <noindex><a rel=\"nofollow\" href=\"https:\/\/ext4.wiki.kernel.org\/index.php\/Ext4_Disk_Layout\">dirent<\/a><\/noindex> (eventi di creazione, eliminazione e spostamento di directory). Le funzionalit\u00e0 presentate aiutano a risolvere i problemi di scalabilit\u00e0 che si presentano quando si creano monitoraggi ricorsivi delle modifiche in filesystem molto grandi utilizzando il meccanismo inotify (in precedenza, le modifiche a dirent potevano essere monitorate solo tramite inotify, ma<br \/>\nl'efficacia in condizioni di monitoraggio ricorsivo di grandi directory annidate lasciava a desiderare). Ora questo tipo di monitoraggio pu\u00f2 essere realizzato in modo efficace tramite fanotify;<\/p>\n<li class=\"l\"> Nel filesystem Btrfs <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=3f93aef535c8ea03e40cd8acf0753b3e6ed33e96\">\u00e8 stata aggiunta<\/a><\/noindex> la possibilit\u00e0 di configurare il livello di compressione per l'algoritmo zstd, che pu\u00f2 essere considerato un compromesso ottimale tra l'lz4 veloce ma inefficiente e l'xz lento ma altamente compressivo. Analogamente a come era possibile impostare il livello di compressione utilizzando zlib, per zstd \u00e8 stata aggiunta il supporto per l'opzione di montaggio '-o compress=zstd:level'. Durante i test, il primo livello minimo ha fornito una compressione dei dati di 2,658 volte con una velocit\u00e0 di compressione di 438,47 MB\/s, velocit\u00e0 di decompressione di 910,51 MB\/s e consumo di memoria di 780 MB, mentre il livello massimo 15 - di 3,126 volte, ma con una velocit\u00e0 di compressione di 37,30 MB\/s, decompressione di 878,84 MB\/s e consumo di memoria di 2547 MB;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/plain\/Documentation\/device-mapper\/dm-init.txt?id=6bbc923dfcf57d6b97388819a7393835664c7a8e\">\u00c8 stata aggiunta<\/a><\/noindex> la possibilit\u00e0 di avviare da un file system ospitato su un dispositivo device-mapper, senza l'uso di initramfs. A partire dall'attuale rilascio del kernel, il dispositivo device-mapper pu\u00f2 essere utilizzato direttamente nel processo di avvio, ad esempio, come partizione con il file system root. La configurazione della partizione viene effettuata attraverso il parametro di avvio 'dm-mod.create'. Tra i moduli device-mapper autorizzati per l'avvio vi sono: 'crypt', 'delay', 'linear', 'snapshot-origin' e 'verity';\n<li class=\"l\"> Nel filesystem F2FS orientato a unit\u00e0 Flash \u00e8 stato aggiunto il flag F2FS_NOCOW_FL, che consente di disabilitare la modalit\u00e0 copy-on-write per un file specifico;\n<li class=\"l\"> Dal kernel \u00e8 stata rimossa la filesystem <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=22084\">Exofs<\/a><\/noindex>, che rappresenta una variante di ext2, adattata per lavorare con i dispositivi di archiviazione basati su oggetti OSD (Object-based Storage Device). \u00c8 stato anche rimosso il supporto per il protocollo SCSI per tali dispositivi di archiviazione oggetti;\n<\/ul>\n<li class=\"l\"> <b>Virtualizzazione e sicurezza<\/b>\n<ul>\n<li class=\"l\"> Nel prctl() \u00e8 stata aggiunta l'opzione PR_SPEC_DISABLE_NOEXEC per gestire l'esecuzione speculativa delle istruzioni per il processo selezionato. Questa nuova opzione consente di disabilitare in modo selettivo l'esecuzione speculativa per i processi che potrebbero essere potenzialmente attaccati tramite una vulnerabilit\u00e0 del tipo Spectre. Il blocco rimane attivo fino alla prima chiamata a exec();\n<li class=\"l\"> Implementato il modulo LSM <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/admin-guide\/LSM\/SafeSetID.html\">SafeSetID<\/a><\/noindex>, che consente ai servizi di sistema di gestire gli utenti in modo sicuro senza elevazione dei privilegi (CAP_SETUID) e senza ottenere i diritti dell'utente root. L'assegnazione dei privilegi avviene tramite la definizione in securityfs delle regole sulla base di un elenco bianco di collegamenti consentiti (sotto forma di 'UID1:UID2');\n<li class=\"l\"> Sono state aggiunte modifiche a basso livello necessarie per l'organizzazione in stack del caricamento dei moduli di sicurezza (LSM). \u00c8 stato presentato il parametro di avvio del kernel 'lsm', che consente di gestire quali moduli vengono caricati e in quale ordine;\n<li class=\"l\"> Nella sottosistema di auditing \u00e8 stata aggiunta la supporto per gli spazi dei nomi dei file;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/81a56f6dcd20\">Espansi<\/a><\/noindex> le capacit\u00e0 del plugin GCC structleak, che consente di bloccare potenziali perdite di contenuto della memoria. \u00c8 stata garantita l'inizializzazione di tutte le variabili utilizzate nel codice tramite riferimenti nello stack;\n<\/ul>\n<li class=\"l\"> <b>Sottosistema di rete<\/b>\n<ul>\n<li class=\"l\"> Per i socket <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/f5dd3d0c9638\">\u00e8 stata implementata<\/a><\/noindex> una nuova opzione 'SO_BINDTOIFINDEX', simile a<br \/>\n\u00abSO_BINDTODEVICE\u00bb, che accetta come argomento il numero indice dell'interfaccia di rete invece del nome dell'interfaccia;<\/p>\n<li class=\"l\"> Nel stack mac80211 \u00e8 stata aggiunta la possibilit\u00e0 di assegnare pi\u00f9 BSSID (indirizzi MAC) a un dispositivo. Nell'ambito del progetto di ottimizzazione delle prestazioni WiFi, nel stack mac80211 \u00e8 stata aggiunta la considerazione della distribuzione del tempo di trasmissione e la possibilit\u00e0 di distribuire il tempo di trasmissione tra pi\u00f9 stazioni (in modalit\u00e0 access point, assegnando meno tempo di trasmissione alle stazioni wireless pi\u00f9 lente, invece di una suddivisione uniforme del tempo tra tutte le stazioni);\n<li class=\"l\"> \u00c8 stato aggiunto il meccanismo \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=db2ab7a08f06\">devlink health<\/a><\/noindex>\u00ab, che fornisce notifiche in caso di problemi con l'interfaccia di rete;\n<\/ul>\n<li class=\"l\"> <b>Memoria e servizi di sistema<\/b>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/torvalds\/c\/a9dce6679d736cb3d612af39bab9f31f8db66f9b\">supporto per l'interfaccia<\/a><\/noindex> consegna sicura dei segnali, tenendo conto della possibilit\u00e0 di riutilizzo del PID. Ad esempio, durante una chiamata a kill, prima potrebbe verificarsi una situazione in cui, subito dopo l'invio del segnale, il PID target potesse essere liberato a causa della terminazione del processo e occupato da un altro processo, risultando nel fatto che il segnale veniva inviato a un altro processo. Per evitare tali situazioni, \u00e8 stata aggiunta una nuova chiamata di sistema pidfd_send_signal, che utilizza i descrittori di file da \/proc\/pid per garantire un collegamento stabile al processo. Anche se il PID viene riutilizzato durante l'elaborazione della chiamata di sistema, il descrittore di file non cambier\u00e0 e pu\u00f2 essere utilizzato in modo sicuro per inviare segnali al processo;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/777212\/\">\u00c8 stata aggiunta<\/a><\/noindex> la possibilit\u00e0 di utilizzare dispositivi di memoria persistente (persistent-memory, ad esempio <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/NVDIMM\">NVDIMM<\/a><\/noindex>) come memoria RAM. Fino ad ora, nel kernel, tali dispositivi erano supportati come unit\u00e0 di archiviazione, ma ora possono essere utilizzati anche come memoria volatile aggiuntiva. Questa possibilit\u00e0 \u00e8 stata implementata in risposta alle richieste degli utenti, disposti a tollerare un calo delle prestazioni e desiderosi di utilizzare l'API di gestione della memoria del kernel Linux invece di ricorrere ai sistemi di allocazione della memoria esistenti nello spazio utente, che operano sopra mmap per il file dax;\n<li class=\"l\"> \u00c8 stato aggiunto un nuovo gestore di inattivit\u00e0 della CPU (cpuidle, che determina quando \u00e8 possibile passare la CPU a modalit\u00e0 di risparmio energetico profondo, maggiore \u00e8 la profondit\u00e0 della modalit\u00e0 \u2014 maggiore \u00e8 il risparmio, ma ci vuole anche pi\u00f9 tempo per uscire dalla modalit\u00e0) \u2014 TEO (Governatore Orientato agli Eventi del Timer). Fino ad ora sono stati proposti due gestori cpuidle \u2014 \u00abmenu\u00bb e \u00abladder\u00bb, che si differenziano per l'euristica. Nel gestore \u00abmenu\u00bb ci sono problemi noti con l'adozione di decisioni euristiche, e per risolverli \u00e8 stata decisa la preparazione di un nuovo gestore. TEO \u00e8 posizionato come un'alternativa al gestore \u00abmenu\u00bb, consentendo prestazioni pi\u00f9 elevate mantenendo lo stesso livello di consumo energetico.<br \/>\n\u00c8 possibile attivare il nuovo gestore tramite il parametro di avvio \u00abcpuidle.governor=teo\u00bb;<\/p>\n<li class=\"l\"> Nell'ambito del lavoro per risolvere <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_2038_%D0%B3%D0%BE%D0%B4%D0%B0\">il problema del 2038<\/a><\/noindex>, causato dall'overflow del tipo time_t a 32 bit, sono stati inclusi nelle chiamate di sistema contatori temporali a 64 bit per architetture a 32 bit. Di conseguenza, la struttura time_t a 64 bit pu\u00f2 ora essere utilizzata su tutte le architetture. Modifiche analoghe sono state implementate nel sottosistema di rete per le opzioni <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/Documentation\/networking\/timestamping.txt\">timestamp<\/a><\/noindex>  dei socket di rete;\n<li class=\"l\"> Nel sistema di patching live per il kernel (live patching) <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/Documentation\/livepatch\/cumulative-patches.txt?id=c4e6874f2a2965e932f4a5cf2631bc6024e55021\">\u00e8 stata aggiunta<\/a><\/noindex> la funzionalit\u00e0 \u00abAtomic Replace\u00bb per l'applicazione atomica di una serie di modifiche a una singola funzione. Questa funzionalit\u00e0 consente di distribuire patch consolidate che coprono pi\u00f9 modifiche contemporaneamente, invece di un processo di applicazione di live-patch in un ordine rigorosamente definito, piuttosto complesso da gestire. In precedenza, ogni modifica successiva doveva partire dallo stato della funzione dopo la modifica precedente, ma ora \u00e8 possibile distribuire contemporaneamente pi\u00f9 modifiche legate a uno stato iniziale (cio\u00e8 gli accompagnatori possono mantenere una patch consolidata rispetto al kernel di base invece di una catena di patch interdipendenti);\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=eac616557050737a8d6ef6fe0322d0980ff0ffde\">Dichiarata<\/a><\/noindex> obsoleta la supporto per il formato di file eseguibili a.out e<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=08300f4402abc0eb3bc9c91b27a529836710d32d\">rimossa<\/a><\/noindex> il codice per generare file core nel formato a.out, che \u00e8 in uno stato abbandonato. Il formato a.out non \u00e8 pi\u00f9 utilizzato sui sistemi Linux, e la generazione di file a.out non \u00e8 pi\u00f9 supportata dagli strumenti moderni nelle configurazioni per Linux per impostazione predefinita. Inoltre, il caricatore per i file a.out pu\u00f2 essere implementato interamente nello spazio utente;<\/p>\n<li class=\"l\"> Nel meccanismo di verifica dei programmi BPF \u00e8 stata aggiunta la possibilit\u00e0 di identificare e rimuovere codice non utilizzato. Sono stati inclusi nel kernel anche patch con supporto per spinlock per il sottosistema BPF, offrendo ulteriori possibilit\u00e0 di gestione dell'esecuzione parallela dei programmi BPF;\n<\/ul>\n<li class=\"l\"> <b>Apparecchiatura<\/b>\n<ul>\n<li class=\"l\"> Nel driver Nouveau <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=eeaf06ac1a5584e41cf289f8351e446bb131374b\">\u00e8 stata aggiunta<\/a><\/noindex> supporto per la gestione della memoria eterogenea, che consente l'accesso della CPU e della GPU a aree di memoria sincronizzate condivise. La memoria virtuale condivisa (SVM, shared virtual memory) \u00e8 implementata sulla base del sottosistema HMM (Heterogeneous memory management), consentendo l'uso di dispositivi con propri blocchi di gestione della memoria (MMU, memory management unit), che possono accedere alla memoria principale. Inoltre, grazie a HMM \u00e8 possibile organizzare uno spazio di indirizzamento condiviso tra GPU e CPU, in cui la GPU pu\u00f2 accedere alla memoria principale del processo. Il supporto per SVM \u00e8 attualmente abilitato solo per le GPU della famiglia Pascal, sebbene il supporto sia fornito anche per le GPU Volta e Turing. Inoltre, in Nouveau <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=f180bf12ac061f093abb9247505f661817973cae\">\u00e8 stata aggiunta<\/a><\/noindex> nuovo ioctl per gestire la migrazione delle aree di memoria dei processi nella memoria GPU;\n<li class=\"l\"> Nel driver DRM Intel per GPU Skylake e oltre (gen9+) <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7360c9f6b857e22a48e545f4e99c79630994e932\">\u00e8 attivato<\/a><\/noindex> per impostazione predefinita, la modalit\u00e0 fastboot esclude cambiamenti inutili di modalit\u00e0 durante l'avvio. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=5e0f5a58b167fc2c8352d90c0faa8c0c9ca75c26\">Aggiunti<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/03ca3cf8e9aa7549e6c398462af0f68bdd43e7fe\">nuovi<\/a><\/noindex> identificatori dei dispositivi basati sulle microarchitetture Coffelake e Ice Lake. Per i chip Coffelake <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=c3b5a8430daadf5b8ec9757d6c81149903cbe99f\">\u00e8 stata aggiunta<\/a><\/noindex> supporto GVT (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=41187\">virtualizzazione GPU<\/a><\/noindex>). Per GPU virtuali <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=39c68e87bc50a71bcfe93582d9b0673ef30db418\">\u00e8 stata implementata<\/a><\/noindex> supporto VFIO EDID. Per pannelli LCD MIPI\/DSI <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7b5618f4b834330a052958db934c3dffad4a15c2\">\u00e8 stata aggiunta<\/a><\/noindex> supporto per elementi ACPI\/PMIC. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=a0ff6779c75fe86a66b8c2eb439a40a12139eb02\">Implementato<\/a><\/noindex> nuove modalit\u00e0 TV 1080p30\/50\/60 TV;\n<li class=\"l\"> Nel driver amdgpu \u00e8 stato aggiunto il supporto per GPU Vega10\/20 BACO. Sono stati implementati i controlli di alimentazione per Vega 10\/20 e le tabelle di gestione della ventola per Vega 10. Sono stati aggiunti nuovi identificatori PCI per dispositivi per GPU Picasso. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=67dd1a36334ffce82bebeb2d633e152aa436d370\">Aggiunto<\/a><\/noindex> interfaccia di gestione delle dipendenze pianificate per escludere deadlock;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=557c37360eca864eba692be7b7b72ec937b330af\">Aggiunto<\/a><\/noindex> driver DRM\/KMS per acceleratori delle operazioni su schermo <noindex><a rel=\"nofollow\" href=\"https:\/\/community.arm.com\/developer\/tools-software\/graphics\/b\/blog\/posts\/mali-d71-and-the-next-generation-display-solution\">ARM Komeda<\/a><\/noindex> (Mali D71);\n<li class=\"l\"> Aggiunto il supporto per pannelli Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 e Kingdisplay kd097d04;\n<li class=\"l\"> Aggiunto il supporto per codec audio Rockchip RK3328, Cirrus Logic CS4341 e CS35L36, MediaTek MT6358, Qualcomm WCD9335 e Ingenic JZ4725B, oltre alla piattaforma audio Mediatek MT8183;\n<li class=\"l\"> Aggiunto il supporto per controller NAND Flash STMicroelectronics FMC2, Amlogic Meson;\n<li class=\"l\"> Aggiunto il supporto per acceleratori per sistemi di machine learning Habana AI;\n<li class=\"l\"> Aggiunto il supporto per controller Ethernet gigabit NXP ENETC e interfacce wireless MediaTek MT7603E (PCIe) e MT76x8.\n<\/ul>\n<\/ul>\n<p>Allo stesso tempo, il Fondo Latinoamericano per il Software Libero <noindex><a rel=\"nofollow\" href=\"http:\/\/www.fsfla.org\/ikiwiki\/selibre\/linux-libre\/\">ha creato<\/a><\/noindex><br \/>\nuna versione <noindex><a rel=\"nofollow\" href=\"http:\/\/www.fsfla.org\/ikiwiki\/selibre\/linux-libre\/\">completamente libero kernel 5.1<\/a><\/noindex> &#8212; <noindex><a rel=\"nofollow\" href=\"http:\/\/linux-libre.fsfla.org\/pub\/linux-libre\/releases\/5.1-gnu\/\">Linux-libre 5.1-gnu<\/a><\/noindex>, ripulito da elementi di firmware e driver contenenti componenti non liberi o porzioni di codice la cui applicazione \u00e8 limitata dal produttore. Nel nuovo rilascio \u00e8 stata disattivata il caricamento di blob nei driver mt7603 e goya. Il codice di pulizia dei blob nei driver e nelle sottosistemi wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk e touchscreen_dmi \u00e8 stato aggiornato. La pulizia dei blob nel caricatore di firmware lantiq xrx200 \u00e8 stata interrotta a causa della sua rimozione dal kernel.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50631\">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.1. \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: \u043d\u043e\u0432\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430 io_uring, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f NVDIMM \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u041e\u0417\u0423, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432 Nouveau \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u043c\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0424\u0421 \u0447\u0435\u0440\u0435\u0437 fanotify, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 \u0441\u0436\u0430\u0442\u0438\u044f Zstd \u0432 Btrfs, \u043d\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a cpuidle TEO, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 [&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-33056","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.\" \/>\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-1\" \/>\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.1 | 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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-1\" \/>\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=\"2019-10-31T18:50:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:50:30+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.1 | ProHoster","description":"Dopo due mesi di sviluppo, Linus Torvalds ha presentato il rilascio del kernel Linux.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-1","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.1 | 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.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-yadra-linux-5-1","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":"2019-10-31T18:50:30+00:00","article:modified_time":"2019-10-31T18:50:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33056","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":null,"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-21 13:47:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:47:29","updated":"2026-01-21 13:47: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\/33056","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=33056"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/33056\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=33056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=33056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=33056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}