Creșterea numărului versiunii majore la 5 nu înseamnă modificări semnificative sau probleme de compatibilitate. Aceasta ajută doar pe dragul nostru Linus Torvalds să-și păstreze liniștea sufletească. Mai jos - lista unor modificări și noutăți.
Nucleul:
- Planificatorul de procese CFS pe procesoare asimetrice, precum ARM, funcționează diferit - prioritatea o au nucleele cu consum redus de energie și de resurse.
- Prin API-ul de urmărire a evenimentelor de fișiere fanotify, se pot primi notificări când un fișier este deschis pentru execuție.
- S-a integrat un controler cpuset care poate restricționa grupuri de procese în funcție de utilizarea CPU-ului și nodurilor NUMA.
- S-a inclus suport pentru următoarele dispozitive ARM: Qualcomm QCS404, Allwinner T3, NXP/Freescale i.MX7ULP, NXP LS1028A, i.MX8, RDA Micro RDA8810PL, Rockchip Gru Scarlet, Allwinner Emlid Neutis N5 și multe altele.
- Îmbunătățiri în subsistemul ARM: conectarea la cald a memoriei, protecție împotriva atacurilor Meltdown și Spectre, adresare a memoriei pe 52 de biți etc.
- Suport pentru instrucțiunea WBNOINVD pentru x86-64.
Subsistemul de memorie:
- Pentru instrumentul KASAN pe platformele ARM64, este disponibilă înlocuirea etichetelor de verificare cu un consum scăzut de memorie.
- Fragmentarea memoriei a fost semnificativ redusă (cu până la 90%), astfel că mecanismul Transparent HugePage funcționează mai bine.
- Viteza de lucru a mremap(2) pe zone mari de memorie a crescut de până la 20 de ori.
- În mecanismul KSM, jhash2 a fost înlocuit cu xxhash, ceea ce a crescut de 5 ori viteza de funcționare a KSM pe sistemele pe 64 de biți.
- Îmbunătățiri în ZRam și OOM.
Dispozitive bloc și sisteme de fișiere:
- Mecanismul blk-mq cu un sistem de coadă multi-nivel a devenit principalul pentru dispozitivele bloc. Tot codul non-mq a fost eliminat.
- Îmbunătățiri în suportul NVMe, în special în ceea ce privește operarea dispozitivelor prin rețea.
- Pentru Btrfs s-a realizat un suport complet pentru fișierele swap, precum și modificarea FSID fără a rescrie metadata.
- În F2FS, a fost adăugat apelul ioctl pentru verificarea amânată a FS prin fsck.
- A fost integrat BinderFS - un pseudo-FS pentru interacțiunea între procese. Permite rularea mai multor instanțe Android într-un singur mediu.
- O serie de îmbunătățiri în CIFS: cache DFS, atribute extinse, protocol smb3.1.1.
- ZRam funcționează mai eficient cu dispozitivele swap neutilizate, economisind memorie.
Securitate și virtualizare:
- A fost adăugată funcția de hash Streebog (GOST 34.11-2012), dezvoltată de FSB-ul Rusiei.
- Suport pentru algoritmul de criptare Adiantum, dezvoltat de Google pentru dispozitive cu resurse limitate.
- Au fost incluse algoritmii XChaCha12, XChaCha20 și NHPoly1305.
- Procesarea apelurilor seccomp poate fi acum mutată în spațiul utilizatorului.
- Pentru sistemele guest KVM a fost adăugat suport pentru extensiile Intel Processor Trace cu o scădere minimă a performanței.
- Îmbunătățiri în subsistemul KVM/Hyper-V.
- Driverul virtio-gpu a primit suport pentru simularea EDID pentru monitoarele virtuale.
- Driverul virtio_blk a implementat apelul discard.
- Funcții de securitate pentru memoria NV, bazate pe specificațiile Intel DSM 1.8, au fost implementate.
Driverele de dispozitive:
- Modificări în API-ul DRM pentru suportul complet al sincronizării adaptive (parte din standardul DisplayPort) și frecvențelor de refresh variabile (parte din standardul HDMI).
- Standardul Display Stream Compression a fost inclus pentru compresia fără pierderi a fluxurilor video destinate ecranelor cu rezoluție înaltă.
- Driverul AMDGPU acum suportă FreeSync 2 HDR și resetarea GPU-ului pentru CI, VI, SOC15.
- Driverul video Intel a primit suport pentru cipurile Amber Lake, formatele YCBCR 4:2:0 și YCBCR 4:4:4.
- Driverul Nouveau a inclus suport pentru modurile video pentru plăcile grafice din familia Turing TU104/TU106.
- Au fost integrate driverele pentru touchscreen-uri Raspberry Pi, panouri CDTech, Banana Pi, DLC1010GIG, și altele.
- Driverul HDA are suport pentru butonul "jack", LED-uri, dispozitive Tegra186 și Tegra194.
- Subsistemul de input a învățat să lucreze cu derularea de înaltă precizie pe unele mouse-uri Microsoft și Logitech.
- Un număr de schimbări în driverele pentru camere web, TV tunere, USB, IIO, și altele.
Subsistemul de rețea:
- În stiva UDP a fost implementat un mecanism zero-copy pentru transmiterea datelor prin socket fără intermediul buffer-ului.
- De asemenea, a fost adăugat mecanismul Generic Receive Offload.
- A fost îmbunătățită performanța căutării în politicile xfrm atunci când acestea sunt numeroase.
- În driverul VLAN a fost adăugată posibilitatea de descărcare a tunelurilor.
- O serie de îmbunătățiri în suportul pentru Infiniband și rețele wireless.
Sursa: linux.org.ru
