Aumentare il numero della versione principale a 5 non significa modifiche importanti o interruzioni della compatibilità. Aiuta semplicemente il nostro caro Linus Torvald a mantenere la tranquillità. Di seguito l'elenco di alcune modifiche e innovazioni.
Nucleo centrale:
- Lo scheduler del processo CFS sui processori asimmetrici come ARM funziona in modo diverso: innanzitutto carica core a basso consumo ed efficienti dal punto di vista energetico.
- Attraverso l'API di tracciamento degli eventi dei file di fanotify, puoi ricevere notifiche quando un file viene aperto per l'esecuzione.
- È stato integrato il controller cpuset che può essere utilizzato per limitare gruppi di processi in base all'utilizzo della CPU e dei nodi NUMA.
- È incluso il supporto per i seguenti dispositivi ARM: Qualcomm QCS404, Allwinner T3, NXP/Freescale i.MX7ULP, NXP LS1028A, i.MX8, RDA Micro RDA8810PL, Rockchip Gru Scarlet, Allwinner Emlid Neutis N5 e molti altri.
- Miglioramenti nel sottosistema ARM: hot plug della memoria, protezione Meltdown e Spectre, indirizzamento della memoria a 52 bit, ecc.
- Supporto per l'istruzione WBNOINVD per x86-64.
Sottosistema di memoria:
- La sostituzione dei tag di prova con un basso consumo di memoria è disponibile per lo strumento KASAN sulle piattaforme ARM64.
- La frammentazione della memoria è stata drasticamente ridotta (fino al 90%), con il risultato che il motore Transparent HugePage funziona meglio.
- Le prestazioni di mremap(2) su aree di memoria di grandi dimensioni sono state aumentate fino a 20 volte.
- Nel meccanismo KSM, jhash2 viene sostituito da xxhash, grazie al quale la velocità di KSM sui sistemi a 64 bit è aumentata di 5 volte.
- Miglioramenti a ZRam e OOM.
Blocca dispositivi e file system:
- Il meccanismo blk-mq con un sistema multilivello di code di richieste è diventato il principale per i dispositivi a blocchi. Tutto il codice non mq è stato rimosso.
- Miglioramenti al supporto NVMe, soprattutto in termini di funzionamento del dispositivo in rete.
- Per Btrfs è implementato il supporto completo per i file di scambio, oltre alla modifica del FSID senza riscrivere i metadati.
- Una chiamata ioctl è stata aggiunta a F2FS per il controllo differito di FS tramite fsck.
- BinderFS integrato: uno pseudo-FS per la comunicazione tra processi. Ti consente di eseguire più istanze di Android nello stesso ambiente.
- Numerosi miglioramenti in CIFS: cache DFS, attributi estesi, protocollo smb3.1.1.
- ZRam funziona in modo più ottimale con i dispositivi di scambio non utilizzati, risparmiando memoria.
Sicurezza e virtualizzazione:
- Aggiunta la funzione hash Streebog (GOST 34.11-2012), sviluppata dall'FSB della Federazione Russa.
- Supporto per l'algoritmo di crittografia Adiantum sviluppato da Google per dispositivi a basso consumo.
- Algoritmi XChaCha12, XChaCha20 e NHPoly1305 inclusi.
- La gestione delle chiamate seccomp può ora essere spostata nello spazio utente.
- Per i sistemi guest KVM, il supporto per le estensioni Intel Processor Trace viene implementato con un degrado minimo delle prestazioni.
- Miglioramenti nel sottosistema KVM/Hyper-V.
- Il driver virtio-gpu ora supporta la simulazione EDID per i monitor virtuali.
- Il driver virtio_blk implementa la chiamata di scarto.
- Funzionalità di sicurezza implementate per la memoria NV basate sulle specifiche Intel DSM 1.8.
I driver di periferica:
- Modifiche all'API DRM per supportare completamente la sincronizzazione adattiva (parte dello standard DisplayPort) e le frequenze di aggiornamento variabili (parte dello standard HDMI).
- È incluso lo standard Display Stream Compression per la compressione senza perdite di flussi video indirizzati a schermi ad alta risoluzione.
- Il driver AMDGPU ora supporta FreeSync 2 HDR e il ripristino della GPU per CI, VI, SOC15.
- Il driver video Intel ora supporta i chip Amber Lake, i formati YCBCR 4:2:0 e YCBCR 4:4:4.
- Il driver Nouveau include il lavoro con le modalità video per le schede video della famiglia Turing TU104/TU106.
- Driver integrati per touchscreen Raspberry Pi, pannelli CDTech, Banana Pi, DLC1010GIG, ecc.
- Il driver HDA supporta il pulsante "jack", indicatori LED, dispositivi Tegra186 e Tegra194.
- Il sottosistema di input ha imparato a funzionare con lo scorrimento ad alta precisione su alcuni mouse Microsoft e Logitech.
- Molti cambiamenti nei driver per webcam, sintonizzatori TV, USB, IIO, ecc.
Sottosistema di rete:
- Lo stack UDP supporta un meccanismo a copia zero per la trasmissione di dati su un socket senza buffering intermedio.
- Qui è stato aggiunto anche il meccanismo Generic Receive Offload.
- Prestazioni di ricerca migliorate nelle policy xfrm quando ce n'è un gran numero.
- Al driver VLAN è stata aggiunta la possibilità di scaricare i tunnel.
- Numerosi miglioramenti al supporto per Infiniband e reti wireless.
Fonte: linux.org.ru