Versione di u kernel Linux 5.17

Dopu dui mesi di sviluppu, Linus Torvalds hà presentatu a liberazione di u kernel Linux 5.17. Trà i cambiamenti più notevuli: un novu sistema di gestione di u rendiment per i prucessori AMD, a capacità di mappare recursivamente l'ID di l'utilizatori in i sistemi di fugliale, supportu per i prugrammi BPF compilati portatili, una transizione di u generatore di numeri pseudo-aleatoriu à l'algoritmu BLAKE2s, una utilità RTLA. per l'analisi di l'esekzione in tempu reale, un novu backend fscache per i sistemi di file di rete di cache, a capacità di aghjunghje nomi à operazioni mmap anonime.

A nova versione include 14203 correzioni da 1995 sviluppatori, a dimensione di u patch hè 37 MB (i cambiamenti affettati 11366 file, 506043 linee di codice sò state aghjunte, 250954 linee sò state eliminate). Circa u 44% di tutti i cambiamenti introdotti in 5.17 sò ligati à i driver di u dispositivu, circa u 16% di i cambiamenti sò ligati à l'aghjurnamentu di u codice specificu à l'architetture hardware, u 15% sò ligati à a pila di rete, u 4% sò ligati à i sistemi di fugliali è u 4% sò ligati à i sottosistemi interni di u kernel.

Innuvazioni principali in u kernel 5.17:

  • Sottosistema di discu, I / O è sistemi di fugliale
    • Implementatu a pussibilità di mapping nidificatu di l'ID di l'utilizatori di i sistemi di fugliale muntati, utilizatu per paragunà i schedarii di un utilizatore specificu in una partizione straniera muntata cù un altru utilizatore nantu à u sistema attuale. A funzione aghjunta vi permette di utilizà ricursivamente a mappatura in cima à i sistemi di schedari per i quali a mappa hè digià applicata.
    • U subsistema fscache, utilizatu per urganizà a cache in u sistema di schedarii lucali di dati trasferiti per i sistemi di schedarii di a rete, hè stata completamente riscritta. A nova implementazione hè distinata da una simplificazione significativa di u codice è a sustituzione di l'operazioni cumplessi di pianificazione è seguimentu di stati di l'ughjettu cù miccanismi più simplici. U supportu per u novu fscache hè implementatu in u sistema di file CIFS.
    • U subsistema di seguimentu di l'avvenimenti in u fanotify FS implementa un novu tipu d'avvenimentu, FAN_RENAME, chì vi permette di interceptà immediatamente l'operazione di rinominazione di fugliali o cartulari (previamente, dui eventi separati FAN_MOVED_FROM è FAN_MOVED_TO sò stati usati per processà rinomine).
    • U sistema di schedari Btrfs hà ottimisatu l'operazioni di logging è fsync per i cartulari grandi, implementatu da copià solu e chjave d'indici è riducendu a quantità di metadata logged. Hè statu furnitu u supportu per l'indexazione è a ricerca per dimensione di i registri di spaziu liberu, chì hà riduciutu a latenza di circa 30% è u tempu di ricerca ridutta. Hè permessu di interrompe l'operazione di defragmentazione. A capacità di aghjunghje i dispositi quandu u equilibriu trà unità hè disattivata, i.e. quandu muntate un sistema di schedari cù l'opzione skip_balance.
    • Una nova sintassi per a muntagna di u sistema di schedari Ceph hè stata pruposta, risolve i prublemi esistenti assuciati cù ubligatoriu à l'indirizzi IP. In più di l'indirizzi IP, pudete avà aduprà l'identificatore di cluster (FSID) per identificà u servitore: mount -t ceph [email prutettu]_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
    • U sistema di schedari Ext4 hà trasfirutu à una nova API di muntatura chì separa l'analisi di l'opzioni di muntagna è i passi di cunfigurazione di superbloccu. Avemu abbandunatu u supportu per l'opzioni di muntagna lazytime è nolazytime, chì sò stati aghjuntu cum'è un cambiamentu tempurale per facilità a transizione di util-linux per utilizà a bandiera MS_LAZYTIME. Aggiuntu supportu per stabilisce è leghje etichette in u FS (ioctl FS_IOC_GETFSLABEL è FS_IOC_SETFSLABEL).
    • NFSv4 hà aghjustatu u supportu per travaglià in sistemi di fugliale insensibili à u casu in i nomi di file è repertori. NFSv4.1+ aghjunghjenu supportu per a definizione di sessioni aggregate (trunking).
  • Memoria è servizii di sistema
    • Aggiuntu driver amd-pstate per furnisce un cuntrollu di frequenza dinamica per un rendiment ottimale. U driver supporta CPU è APU AMD partendu da a generazione Zen 2, sviluppata in cunjunzione cù Valve è hè destinata à migliurà l'efficienza di gestione energetica. Per i cambiamenti di freccia adattativa, hè utilizatu u mecanismu CPPC (Control di Performance Processor Collaborative), chì vi permette di cambià l'indicatori più precisamente (micca limitatu à trè livelli di prestazione) è risponde più rapidamente à i cambiamenti statali chì u statu P basatu in ACPI utilizatu prima. drivers (CPUFreq).
    • U sottosistema eBPF offre un gestore bpf_loop (), chì furnisce un modu alternativu per urganizà cicli in i prugrammi eBPF, più veloce è più faciule per a verificazione da un verificatore.
    • À u nivellu di u kernel, u mecanismu CO-RE (Compile Once - Run Everywhere) hè implementatu, chì permette di cumpilà u codice di i prugrammi eBPF una sola volta è utilizate un caricatore universale speciale chì adatta u prugramma caricatu à u kernel attuale è i tipi BTF. (Formato di tipu BPF).
    • Hè pussibule assignà nomi à e zone di memoria privata anonima (assignata via malloc), chì ponu simplificà a debugging è ottimisazione di u cunsumu di memoria in l'applicazioni. I nomi sò attribuiti via prctl cù a bandiera PR_SET_VMA_ANON_NAME è sò visualizati in /proc/pid/maps è /proc/pid/smaps in a forma "[anon: ]".
    • U pianificatore di u travagliu furnisce u seguimentu è a visualizazione in /proc/PID/sched di u tempu passatu da i prucessi in u statu inattivu forzatu, utilizatu, per esempiu, per riduce a carica quandu u processatore si surriscalda.
    • Aggiuntu modulu gpio-sim, cuncepitu per simulà chips GPIO per a prova.
    • Aggiuntu un subcumandamentu di "latenza" à u cumandamentu "perf ftrace" per generà histogrammi cù informazioni di latenza.
    • Aggiuntu un set di utilità "RTLA" per analizà u travagliu in tempu reale. Include utilità cum'è osnoise (determina l'influenza di u sistema operatore nantu à l'esekzione di un compitu) è timerlat (cambia i ritardi assuciati cù u timer).
    • Una seconda serie di patches hè stata integrata cù l'implementazione di u cuncettu di folios di pagina, chì s'assumiglia à e pagine composte, ma anu megliu a semantica è una urganizazione più clara di u travagliu. Utilizà i tomi permette di accelerà a gestione di memoria in certi sottosistemi di kernel. I patchs pruposti cumpletu a cunversione di a cache di a pagina à l'usu di tomi è aghjunghjenu supportu iniziale per i tomi in u sistema di schedari XFS.
    • Added "make mod2noconfig" build mode, chì genera una cunfigurazione chì recullà tutti i sottosistemi disabilitati in forma di moduli di kernel.
    • I requisiti per a versione di LLVM / Clang chì pò esse usatu per custruisce u kernel sò stati suscitati. Custruisce avà richiede almenu una liberazione di LLVM 11.
  • Virtualizazione è Sicurezza
    • Una implementazione aghjurnata di u generatore di numeri pseudo-aleatoriu RDRAND, rispunsevule per l'operazione di i dispositi /dev/random è /dev/urandom, hè pruposta, notevule per a transizione à utilizà a funzione hash BLAKE2s invece di SHA1 per l'operazioni di mistura di entropia. U cambiamentu hà migliuratu a sicurità di u generatore di numeri pseudo-aleatorii eliminendu l'algoritmu problematicu SHA1 è eliminendu a sovrascrittura di u vettore di inizializazione RNG. Siccomu l'algoritmu BLAKE2s hè superiore à SHA1 in u rendiment, u so usu hà ancu avutu un effettu pusitivu nantu à u rendiment.
    • Prutezzione aghjuntu contr'à e vulnerabilità in i prucessori causati da l'esekzione speculativa di l'istruzzioni dopu l'operazioni di salto in avanti incondizionati. U prublema si trova per via di u trattamentu preventivu di l'istruzzioni immediatamente dopu à l'istruzzioni di u ramu in memoria (SLS, Straight Line Speculation). L'attivazione di a prutezzione richiede di custruisce cù a versione di prova attualmente di GCC 12.
    • Aggiuntu un mecanismu per seguità u cuntu di riferimentu (refcount, reference-count), destinatu à riduce u nùmeru d'errori in u cuntu di riferimentu chì portanu à l'accessu à a memoria dopu chì hè stata liberata. U mecanismu hè attualmente limitatu à u subsistema di a rete, ma in u futuru pò esse adattatu à altre parti di u kernel.
    • I cuntrolli estesi di novi entrate in a tavola di pagina di memoria di prucessu sò stati implementati, chì permettenu di detectà certi tipi di danni è piantà u sistema, bluccà l'attacchi in una prima fase.
    • Aggiunta l'abilità di sbulicà i moduli di u kernel direttamente da u kernel stessu, è micca da un gestore in u spaziu di l'utilizatori, chì permette di utilizà u modulu LoadPin LSM per assicurà chì i moduli di kernel sò caricati in memoria da un dispositivu di almacenamento verificatu.
    • Fornitu assemblea cù a bandiera "-Wcast-function-type", chì permette l'avvirtimenti nantu à i puntatori di funzione di casting à un tipu incompatibile.
    • Aggiuntu driver host virtuale pvUSB per l'hypervisor Xen, chì furnisce l'accessu à i dispositi USB trasmessi à i sistemi invitati (permette à i sistemi d'ospiti accede à i dispositi USB fisici assignati à u sistema invitatu).
    • Un modulu hè statu aghjuntu chì vi permette di interagisce via Wi-Fi cù u subsistema IME (Intel Management Engine), chì vene in a maiò parte di i motherboards moderni cù processori Intel è hè implementatu cum'è un microprocessore separatu chì opera indipindente da u CPU.
    • Per l'architettura ARM64, u supportu hè statu implementatu per l'uttellu di debugging KCSAN (Kernel Concurrency Sanitizer), pensatu per detectà dinamicamente e cundizioni di razza in u kernel.
    • Per i sistemi ARM 32-bit, l'abilità di utilizà u mecanismu KFENCE per detectà errori quandu u travagliu cù a memoria hè stata aghjunta.
    • L'ipervisore KVM aghjunghjenu supportu per l'istruzzioni AMX (Advanced Matrix Extensions) implementate in i prucessori Intel Xeon Scalable server.
  • Sottusistema di rete
    • Aghjunghje supportu per l'operazione di scaricamentu ligati à a gestione di u trafficu à u latu di i dispositi di rete.
    • Aggiunta a capacità di utilizà MCTP (Protocolu di Trasportu di Componenti di Gestione) nantu à i dispositi seriali. MCTP pò esse usatu per cumunicà trà i cuntrolli di gestione è i so dispositi assuciati (processori d'ospiti, periferiche, etc.).
    • A pila TCP hè stata ottimizzata, per esempiu, per migliurà u rendiment di e chjama di recvmsg, a liberazione ritardata di i buffer di socket hè stata implementata.
    • À u livellu di l'autorità CAP_NET_RAW, stabilisce i modi SO_PRIORITY è SO_MARK attraversu a funzione setsockopt hè permessa.
    • Per IPv4, i sockets crudi sò permessi di esse ligati à l'indirizzi IP non lucali utilizendu l'opzioni IP_FREEBIND è IP_TRANSPARENT.
    • Added sysctl arp_missed_max per cunfigurà u numeru di limitu di fallimenti durante a verificazione di u monitor ARP, dopu chì l'interfaccia di a rete hè posta in un statu disattivatu.
    • Fornitu a capacità di cunfigurà valori separati di sysctl min_pmtu è mtu_expires per i spazii di nomi di rete.
    • Aggiunta a capacità di stabilisce è determinà a dimensione di i buffer per i pacchetti entranti è in uscita à l'API ethtool.
    • Netfilter hà aghjustatu supportu per filtrà u trafficu di transitu pppoe in un ponte di rete.
    • U modulu ksmbd, chì implementa un servitore di file utilizendu u protokollu SMB3, hà aghjustatu u supportu per u scambiu di chjave, hà permessu u portu di rete 445 per smbdirect, è aghjunghjenu supportu per u paràmetru "smb2 max credit".
  • Equipment
    • U supportu per i schermi per a visualizazione di l'infurmazioni cunfidenziale hè statu aghjuntu à u subsistema drm (Direct Rendering Manager) è u driver i915, per esempiu, certi laptops sò equipati di schermi cù un modu di visualizazione cunfidenziale integratu, facendu difficiuli di vede da l'esternu. . I cambiamenti aghjunti permettenu di cunnette cunduttori specializati per tali schermi è cuntrullà i modi di navigazione cunfidenziale mettendu pruprietà in i cunduttori KMS regulari.
    • U driver amdgpu include supportu per a tecnulugia di debugging STB (Smart Trace Buffer) per tutte e GPU AMD chì u supportanu. STB facilita l'analisi di fallimenti è identificà a fonte di i prublemi almacenendu in un buffer speciale l'infurmazioni nantu à e funzioni realizate prima di l'ultimu fallimentu.
    • U driver i915 aghjunghjenu supportu per i chips Intel Raptor Lake S è permette u supportu per u sottosistema gràficu di chips Intel Alder Lake P per automaticamente.
    • U supportu per l'accelerazione di scrolling hardware in a cunsola hè stata restituita in i driver fbcon/fbdev.
    • Integrazione cuntinuata di cambiamenti per supportà chips Apple M1. Implementatu l'abilità di utilizà u driver simpledrm in sistemi cù un chip Apple M1 per a pruduzzioni attraversu un framebuffer furnitu da u firmware.
    • Supportu aghjuntu per ARM SoС, dispositivi è schede Snapdragon 7c, 845 è 888 (Sony Xperia XZ2 / XZ2C / XZ3, Xperia 1 III / 5 III, Samsung J5, Microsoft Surface Duo 2), Mediatek MT6589 (Fairphone FP1), Mediatek MT8183 Acer Chromebook 314), Mediatek MT7986a/b (usatu in router Wi-Fi), Broadcom BCM4908 (Netgear RAXE500), Qualcomm SDX65, Samsung Exynos7885, Renesas R-Car S4-8, TI J721s2, TI SPEAr320s, NAXLP8 , Aspeed AST8/AST2500, Engicam i.Core STM2600MP32, Allwinner Tanix TX1, Facebook Bletchley BMC, Goramo MultiLink, JOZ Access Point, Y Soft IOTA Crux/Crux+, t6/t6000 MacBook Pro 6001/14.
    • Aghjunghje supportu per i processori ARM Cortex-M55 è Cortex-M33.
    • Supportu aghjuntu per i dispositi basati in CPU MIPS: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
    • Aghjunghje supportu per StarFive JH7100 SoC basatu annantu à l'architettura RISC-V.
    • Aggiuntu driver lenovo-yogabook-wmi per cuntrullà a retroilluminazione di u teclatu è accede à diversi sensori in u Lenovo Yoga Book.
    • Aggiuntu driver asus_wmi_sensors per accede à i sensori utilizati nantu à e schede madri Asus X370, X470, B450, B550 è X399 basate nantu à i processori AMD Ryzen.
    • Aggiuntu driver x86-android-tablets per i tablet PC basati in x86 spediti cù a piattaforma Android.
    • Aghjunghje supportu per i schermi tattili TrekStor SurfTab duo W1 è penna elettronica per i tablette Chuwi Hi10 Plus è Pro.
    • I cunduttori per SoC Tegra 20/30 anu aghjustatu supportu per a gestione di u putere è di a tensione. Permette l'avviamentu nantu à i vechji dispositi SoC Tegra 32-bit cum'è ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 è Pad TF300TG.
    • Aggiunti drivers per i computer industriali Siemens.
    • Supportu aghjuntu per Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA è Team Source Display TST043015 LCD panelsXNUMXCMH.
    • Supportu aghjuntu per i sistemi di sonu è i codecs AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, sistemi Intel chì utilizanu NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS, Texas Instruments TLV320ADC3xxx. I prublemi cù Tegra194 HD-audio sò stati risolti. Aggiuntu supportu HDA per i codecs CS35L41. Supportu migliuratu per i sistemi di sonu per i laptop Lenovo è HP, è ancu e schede madri Gigabyte.

Source: opennet.ru

Add a comment