Pas dy muajsh zhvillimi, Linus Torvalds paraqiti versionin e kernelit Linux 5.17. Ndër ndryshimet më të dukshme janë: një sistem i ri menaxhimi të performancës për procesorët AMD, mundësia e mapimit rekurziv të identifikuesve të përdoruesve në sistemet e skedarëve, mbështetje për programet BPF të kompiluar që mund të transportohen, kalimi i gjeneratorit të numrave të rastit në algoritmin BLAKE2s, mjeti RTLA për analizën e ekzekutimit në kohë reale, një backend i ri fscache për caching të sistemeve të skedarëve rrjetit, dhe mundësia e lidhjes së emrave me operacionet anonime mmap.
Në versionin e ri janë pranuar 14203 korrigjime nga 1995 zhvillues, madhësia e patch-it është 37 MB (ndryshimet preken 11366 skedarë, janë shtuar 506043 rreshta kodi, janë fshirë 250954 rreshta). Rreth 44% e të gjithë ndryshimeve të paraqitura në 5.17 janë të lidhura me driverat e pajisjeve, rreth 16% e ndryshimeve kanë të bëjnë me përmirësimin e kodit të arkitekturave specifike, 15% janë të lidhura me stekët rrjetore, 4% me sistemet e skedarëve dhe 4% me nën-sistemet e brendshme të kernelit.
Novitetet kryesore në kernelin 5.17:
- Sistemi i diskut, hyrja/ dalje dhe sistemet e skedarëve
- ĂshtĂ« realizuar mundĂ«sia e mapimit tĂ« identifikuesve tĂ« pĂ«rdoruesve nĂ« sistemet e skedarĂ«ve tĂ« montuar, qĂ« pĂ«rdoret pĂ«r tĂ« pĂ«rputhur skedarĂ«t e njĂ« pĂ«rdoruesi nĂ« njĂ« particion tĂ« huaj tĂ« montuar me njĂ« pĂ«rdorues tjetĂ«r nĂ« sistemin aktual. MundĂ«sia e shtuar lejon pĂ«rdorimin rekurziv tĂ« mapimit mbi sistemet e skedarĂ«ve pĂ«r tĂ« cilat tashmĂ« aplikohet mapimi.
- Nën-sistemi i fscache është shkruar plotësisht, i implementuar për organizimin e caching në sistemin lokal të skedarëve për të dhënat që kalojnë përmes sistemeve të skedarëve rrjetore. Realizimi i ri karakterizohet nga një thjeshtim të rëndësishëm të kodit dhe zëvendësimi i operacioneve të komplikuara të planifikimit dhe gjurmimit të gjendjeve të objekteve me mekanizma më të thjeshtë. Mbështetje për fscache të ri është implementuar në sistemin e skedarëve CIFS.
- Në nën-sistemin e gjurmimit të ngjarjeve në FS, fanotify është implementuar një lloj i ri ngjarjeje FAN_RENAME, i cili lejon kapjen në një kohë të vetme të operacionit të rinovimit të skedarëve ose katalogëve (më parë për përpunimin e rinovimeve ishin përdorur dy ngjarje të ndara FAN_MOVED_FROM dhe FAN_MOVED_TO).
- NĂ« sistemin e skedarĂ«ve Btrfs Ă«shtĂ« optimizuar operacionet e regjistrimit dhe fsync pĂ«r katalogĂ«t e mĂ«dhenj, realizuar pĂ«rmes kopjimit vetĂ«m tĂ« çelĂ«save indeks dhe reduktimin e sasive tĂ« tĂ« dhĂ«nave tĂ« regjistruara. ĂshtĂ« siguruar mbĂ«shtetje pĂ«r indeksimin dhe kĂ«rkimin nĂ«pĂ«rmjet madhĂ«sisĂ« sĂ« regjistrimeve pĂ«r hapĂ«sira tĂ« lira, qĂ« ka rezultuar nĂ« njĂ« reduktim tĂ« vonesave prej rreth 30% dhe nĂ« reduktimin e kohĂ«s sĂ« kĂ«rkimit. ĂshtĂ« lejuar ndĂ«rprerja e operacioneve tĂ« defragmimit. ĂshtĂ« pĂ«rfshirĂ« mundĂ«sia e shtimit tĂ« pajisjeve gjatĂ« çaktivizimit tĂ« balancimit midis disqeve, dmth. kur montoni FS me opsionin skip_balance.
- Propozohet njĂ« sintaksĂ« e re pĂ«r montimin e sistemit tĂ« skedarĂ«ve Ceph, e cila zgjidh problemet ekzistuese tĂ« lidhjes me adresat IP. PĂ«rveç kĂ«saj, pĂ«r tĂ« pĂ«rcaktuar serverin tani mund tĂ« pĂ«rdoret identifikatori i klasterit (FSID): mount -t ceph user@fsid.fs_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]] IP-adresave Sistemi i skedarĂ«ve Ext4 Ă«shtĂ« kaluar nĂ« njĂ« API tĂ« ri pĂ«r montimin, i cili ndan fazat e analizĂ«s sĂ« opsioneve tĂ« montimit dhe konfigurimit tĂ« superblocks. ĂshtĂ« ndaluar mbĂ«shtetje pĂ«r opsionet e montimit lazytime dhe nolazytime, tĂ« cilat ishin shtuar si njĂ« ndryshim pĂ«rkohĂ«sor pĂ«r ta thjeshtuar kalimin e util-linux nĂ« pĂ«rdorimin e flamurit MS_LAZYTIME. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r vendosjen dhe leximin e etiketave nĂ« FS (ioctl FS_IOC_GETFSLABEL dhe FS_IOC_SETFSLABEL).
- NFSv4 është shtuar mbështetje për punën në sistemet e skedarëve pa ndarjen e regjistrave të karaktereve në emrat e skedarëve dhe katalogëve. Në NFSv4.1+ është shtuar mbështetje për përcaktimin e seancave të agreguara (trunking).
- ĂshtĂ« shtuar driveri amd-pstate, i cili siguron menaxhim dinamik tĂ« frekuencĂ«s pĂ«r tĂ« arritur performancĂ«n optimale. Driveri mbĂ«shtet CPU dhe APU tĂ« AMD qĂ« nga gjenerata Zen 2, Ă«shtĂ« zhvilluar nĂ« bashkĂ«punim me kompaninĂ« Valve dhe ka si qĂ«llim rritjen e efikasitetit tĂ« menaxhimit tĂ« konsumit tĂ« energjisĂ«. PĂ«r ndryshimin adaptiv tĂ« frekuencĂ«s pĂ«rdoret mekanizmi CPPC (Kontrolli i PerformancĂ«s sĂ« ProcesorĂ«ve nĂ« BashkĂ«punim), i cili lejon ndryshimin mĂ« tĂ« saktĂ« tĂ« parametrave (nuk kufizohet nĂ« tre nivele performancĂ«s) dhe reagon mĂ« shpejt nĂ« ndryshimin e gjendjes sĂ« proceseve, sesa driverat e pĂ«rdorur mĂ« parĂ« P-state bazuar nĂ« ACPI (CPUFreq).
- Kujtesa dhe shërbimet sistemore
- Në nën-sistemin e eBPF është propozuar procesori bpf_loop(), i cili ofron një mënyrë alternative për organizimin e cikleve në programet e eBPF, më të shpejtë dhe të lehtë për tu verifikuar nga verifikuesi.
- Në nën-sistemin e eBPF është propozuar një përpunues bpf_loop(), i cili ofron një mënyrë alternative për organizimin e cikleve në programet e eBPF, më të shpejtë dhe më të lehtë për t'u verifikuar nga verifikuesi.
- NĂ« nivelin e bĂ«rthamĂ«s Ă«shtĂ« implementuar mekanizmi CO-RE (Compile Once â Run Everywhere), i cili lejon qĂ« kodi i programeve eBPF tĂ« kompilohen vetĂ«m njĂ« herĂ« dhe tĂ« pĂ«rdorin njĂ« ngarkues universale tĂ« veçantĂ«, i cili e pĂ«rshtat programin e ngarkuar me bĂ«rthamĂ«n aktuale dhe tipet BTF (BPF Type Format).
- është ofruar mundësia për të caktuar emra për rajonet e memories private anonime (të ndara përmes malloc), gjë që mund të thjeshtojë procesin e debuggimit dhe optimizimit të konsumit të memories në aplikacione. Emrat caktohen përmes prctl me flamurin PR_SET_VMA_ANON_NAME dhe shfaqen në /proc/pid/maps dhe /proc/pid/smaps në formën «[anon:]».
- Në planifikuesin e detyrave është siguruar ndjekja dhe shfaqja në /proc/PID/sched të kohës të kaluar nga proceset në gjendjen e ngrirjes së detyrueshme (forced-idle), e cila aplikohet për të ulur ngarkesën në rast të nxehtësisë së tepërt të procesorit.
- është shtuar moduli gpio-sim, i destinuar për simuluar çipet GPIO për qëllime testimi.
- Në komandën «perf ftrace» është shtuar komandë e nënrenditur «latency» për gjenerimin e histogramëve me informacion mbi vonesat.
- është shtuar një grup mjetesh «RTLA» për analizimin e punës në modalitetin e vërtetë të kohës. Grupi përfshin mjete si osnoise (që përcakton ndikimin e sistemit operativ në ekzekutimin e detyrës) dhe timerlat (që ndryshon vonesat e lidhura me timerin).
- është integruar seria e dytë e patch-eve me implementimin e konceptit të folianteve të faqeve të memories (page folios), të cilat i ngjajnë faqeve të memories të bashkuara (compound pages), por ndryshojnë me semantikë të përmirësuar dhe organizim më të qartë të punës. Përdorimi i folianteve lejon që menaxhimi i memories të përshpejtohet në disa nën-sisteme të bërthamës. Në patch-et e propozuara është përfunduar kalimi nga cache-i i faqeve në përdorimin e folianteve dhe është shtuar mbështetje fillestare për foliantet në FS XFS.
- është shtuar qëndra e ndërtimit «make mod2noconfig», ku gjenerohet një konfigurim që ndalon të gjitha nën-sistemet të mblidhen në formë modulash të bërthamës.
- Kërkesat për versionin LLVM/Clang që mund të përdoret për ndërtimin e bërthamës janë rritur. Tani kërkohet të paktën lëshimi LLVM 11 për ndërtim.
- Virtualizimi dhe siguria
- është propozuar një implementim i përditësuar i gjeneratorit të numrave të rastësishëm RDRAND, përgjegjës për funksionimin e pajisjeve /dev/random dhe /dev/urandom, e cila është e shquar nga kalimi në përdorimin e funksionit hash BLAKE2s në vend të SHA1 për operacionet e përzierjes së entropisë. Ky ndryshim ka ndihmuar në rritjen e sigurisë së gjeneratorit të numrave të rastësishëm, duke hequr algoritmin problematik SHA1 dhe duke përjashtuar rishkrimin e vektorit të inicializimit RNG. Duke qenë se algoritmi BLAKE2s është më i shpejtë se SHA1, aplikimi i tij ka pasur një ndikim pozitiv në performancën.
- është shtuar mbrojtja nga dobësitë në procesorë, të shkaktuara nga ekzekutimi spekulativ të instruksioneve pas operacioneve të kalimit të drejtpërdrejtë të pandryshuar. Problemi ndodh nga trajtimi proaktiv i instruksioneve që vijnë në memorje menjëherë pas komandës së kalimit (SLS, Straight Line Speculation). Për të aktivizuar mbrojtjen, kërkohet ndërtimi duke përdorur lëshimin GCC 12, i cili është në fazën e testimit.
- është shtuar mekanizmi i ndjekjes së numërimit të referencave (refcount, reference-count), i cili ka si qëllim uljen e numrit të gabimeve në numërimin e referencave, që çojnë në qasjen në memorje pas lirimit të saj. Ky mekanizëm aktualisht është i kufizuar në nën-sistemin e rrjetit, por në të ardhmen mund të adaptohet edhe për pjesë të tjera të bërthamës.
- Janë realizuar kontrolla të zgjeruara për shënimet e reja në tabelën e faqeve të memories së procesit, të cilat lejojnë identifikimin e disa llojeve të dëmtimeve dhe ndalimin e sistemit, duke bllokuar sulmet në një fazë të hershme.
- është shtuar mundësia e shpërbërjes së moduleve të bërthamës direkt nga bërthama, në vend të përpunuesit në hapësirën e përdoruesit, çka lejon që, me ndihmën e modulit LSM LoadPin, të sigurohet që modulet e bërthamës ngarkohen në memorje nga një njësi ruajtjeje të verifikuar.
- është siguruar ndërtimi me flamurin «-Wcast-function-type», i cili përfshin shfaqjen e paralajmërimeve në lidhje me konvertimin e treguesve të funksioneve në një tip të papajtueshëm.
- është shtuar një drejtues virtual i mikrosistemit pvUSB për hipervizorin Xen, i cili ofron akses në pajisjet USB, të cilat janë të virtualizuara në sistemet mysafirë (lejon sistemet mysafirë të qasen në pajisjet fizike USB, të lidhura me sistemin mysafir).
- është shtuar një modul që lejon ndërveprimin me nën-sistemin IME (Intel Management Engine) përmes Wi-Fi, i cili ofrohet në shumicën e pllakave moderne të nënçipave Intel dhe është implementuar si një mikropërpunues i veçantë që punon pavarësisht nga CPU.
- Për arkitekturën ARM64 është realizuar mbështetje për mjetin e debuggimit KCSAN (Kernel Concurrency Sanitizer), i cili është i destinuar për zbardhjen dinamik të gjendjeve të garës brenda bërthamës.
- Për sistemet 32-bit ARM është shtuar mundësia e përdorimit të mekanizmit KFENCE për identifikimin e gabimeve gjatë punës me memorie.
- Në hipervizorin KVM është shtuar mbështetje për komandat AMX (Advanced Matrix Extensions), të realizuara në procesorët e ardhshëm Intel Xeon Scalable.
- Sistemi i rrjetit
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r offloading nĂ« anĂ«n e pajisjeve rrjetĂ« qĂ« lidhen me menaxhimin e trafikut.
- ĂshtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« protokollit MCTP (Management Component Transport Protocol) mbi pajisjet me ndĂ«rfaqe seriale. MCTP mund tĂ« pĂ«rdoret pĂ«r ndĂ«rveprimin e kontrolleve menaxhuese dhe pajisjeve tĂ« lidhura me to (procesorĂ« host, pajisje periferike etj.).
- ĂshtĂ« optimizuar steka TCP, pĂ«r shembull, pĂ«r tĂ« rritur performancĂ«n e thirrjeve recvmsg Ă«shtĂ« realizuar çlirimi i vonuar i bufeve tĂ« soketeve.
- Në nivelin e autorizimeve CAP_NET_RAW është lejuar caktimi përmes funksionit setsockopt të modëve SO_PRIORITY dhe SO_MARK.
- Për IPv4 është lejuar lidhja e soketeve raw jo me adresa IP lokale, duke përdorur opsionet IP_FREEBIND dhe IP_TRANSPARENT.
- ĂshtĂ« shtuar sysctl arp_missed_max pĂ«r konfigurimin e numrit prag tĂ« dĂ«shtimeve gjatĂ« kontrollit nga monitori ARP, pas tĂ« cilit interfaci rrjetĂ« kalon nĂ« gjendjen e fikur.
- ĂshtĂ« ofruar mundĂ«sia e konfigurimit tĂ« vlerave tĂ« veçanta sysctl min_pmtu dhe mtu_expires pĂ«r hapĂ«sirat rrjetĂ«.
- Në API ethtool është shtuar mundësia e caktimit dhe përcaktimit të madhësive të bufereve të pakove hyrëse dhe dalëse.
- Në Netfilter është shtuar mbështetje për filtrimin e trafik pppoe tranzitor në urën rrjetë.
- NĂ« modul tĂ« ksmbd me implementimin e skedarĂ«ve qĂ« pĂ«rdorin protokollin SMB3, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r shkĂ«mbimin e çelĂ«save, duke pĂ«rdorur portin rrjetĂ« 445 pĂ«r smbdirect dhe Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r parametrin âsmb2 max credit. server, duke pĂ«rdorur protokollin SMB3, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r shkĂ«mbimin e çelĂ«save, Ă«shtĂ« aktivizuar porta rrjetit 445 pĂ«r smbdirect dhe Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r parametrin "smb2 max credit."
- Pajisjet
- Në nën-sistemin drm (Direct Rendering Manager) dhe drivin i915 është shtuar mbështetje për ekranet që shfaqin informacion të ndjeshëm, për shembull, disa laptopë vijnë me ekrane që kanë modalitet privatësie të integruar që e vështirëson shikimin nga jashtë. Ndryshimet e shtuara lejojnë lidhjen e drivave të specializuar për këto ekrane dhe menaxhimin e modaliteteve të privatësisë nëpërmjet caktimit të tipareve në drivat e zakonshëm KMS.
- Në drivin e amdgpu është përfshirë mbështetje për teknologjinë e debug STB (Smart Trace Buffer) për të gjithë GPU-të AMD që e mbështesin. STB lehtëson analizimin e dështimeve dhe identifikimin e burimit të problemeve duke ruajtur në një bufër të veçantë informacione mbi funksionet e kryera para dështimit të fundit.
- NĂ« drivin i915 Ă«shtĂ« pĂ«rfshirĂ« mbĂ«shtetje pĂ«r çipat Intel Raptor Lake S dhe Ă«shtĂ« aktivizuar mbĂ«shtetje e parazgjedhur pĂ«r nĂ«n-sistemin grafik tĂ« çipave Intel Alder Lake P. ĂshtĂ« ofruar mundĂ«sia pĂ«r tĂ« menaxhuar ndriçimin e ekranit pĂ«rmes ndĂ«rfaqes DPCD VESA.
- Në drivat fbcon/fbdev është rikthyer mbështetje për përshpejtimin harduerik të rrotullimit në konsolë.
- Kjo Ă«shtĂ« vazhduar integrimi i ndryshimeve pĂ«r mbĂ«shtetje tĂ« çipave Apple M1. ĂshtĂ« realizuar mundĂ«sia e pĂ«rdorimit tĂ« drivit simpledrm nĂ« sistemet me çip Apple M1 pĂ«r daljen pĂ«rmes framebuffer-it tĂ« ofruar nga firmware.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r procesorĂ«t ARM SoC, pajisjet dhe platformat Snapdragon 7c, 845 dhe 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 (pĂ«rdoret nĂ« routerat Wi-fi), Broadcom BCM4908 (Netgear RAXE500), Qualcomm SDX65, Samsung Exynos7885, Renesas R-Car S4-8, TI J721s2, TI SPEAr320s, NXP i.MX8 ULP8, Aspeed AST2500/AST2600, Engicam i.Core STM32MP1, Allwinner Tanix TX6, Facebook Bletchley BMC, Goramo MultiLink, JOZ Access Point, Y Soft IOTA Crux/Crux+, t6000/t6001 MacBook Pro 14/16.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r procesorĂ«t ARM Cortex-M55 dhe Cortex-M33.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r pajisjet me CPU MIPS: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r SoC StarFive JH7100 bazuar nĂ« arkitekturĂ«n RISC-V.
- ĂshtĂ« shtuar drivin lenovo-yogabook-wmi pĂ«r menaxhimin e ndriçimit tĂ« tastierĂ«s dhe qasjen nĂ« sensorĂ« tĂ« ndryshĂ«m nĂ« Lenovo Yoga Book.
- ĂshtĂ« shtuar drivin asus_wmi_sensors pĂ«r qasjen nĂ« sensorĂ«t e pĂ«rdorur nĂ« pllakĂ«n e nĂ«nĂ«s Asus X370, X470, B450, B550 dhe X399 me procesorĂ«t AMD Ryzen.
- ĂshtĂ« shtuar drivin x86-android-tablets pĂ«r tabletĂ«t e bazuar nĂ« arkitekturĂ«n x86, qĂ« vijnĂ« me platformĂ«n Android.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r ekranet me prekje TrekStor SurfTab duo W1 dhe stilolapsin pĂ«r tabletĂ«t Chuwi Hi10 Plus dhe Pro.
- NĂ« drivat pĂ«r SoC Tegra 20/30 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r menaxhimin e energjisĂ« dhe tensionit. ĂshtĂ« siguruar mundĂ«sia e ngarkimit nĂ« pajisje tĂ« vjetra 32-bit tĂ« bazuara nĂ« SoC Tegra, si ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 dhe Pad TF300TG.
- Janë shtuar drivat për kompjuterët industrialë Siemens.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r panelet LCD Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA dhe Team Source Display TST043015CMHX.
- I Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r sistemet audio dhe kodekĂ«t AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, sistemet Intel qĂ« pĂ«rdorin NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDF, Qualcomm ALC5682I-VS, Texas Instruments TLV320ADC3xxx. JanĂ« zgjidhur problemet me Tegra194 HD-audio. ĂshtĂ« shtuar mbĂ«shtetje HDA pĂ«r kodekĂ«t CS35L41. ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r sistemet audio nĂ« laptopĂ«t Lenovo dhe HP, si dhe nĂ« kartat e nĂ«nĂ«s Gigabyte.
Burimi: opennet.ru
