Pas dy muajsh zhvillimi, Linus Torvalds prezantoi lëshimin e bërthamës Linux 5.17. Ndër ndryshimet më të dukshme: një sistem i ri menaxhimi të performancës për procesorët AMD, mundësia për përputhjen rekursive të identifikuesve të përdoruesve në sistemet e skedarëve, mbështetje për programet e kompiluar BPF të përcjellshme, kalimi i gjeneratorit të numrave pseudo-rastësorë në algoritmin BLAKE2s, utilitarin RTLA për analizën e ekzekutimit në kohë reale, një backend të ri fscache për keqcache-timin e FSH-ve rrjetë, si dhe mundësia për të lidhur emra me operacionet anonime mmap.
Në versionin e ri janë pranuar 14203 rregullime nga 1995 zhvillues, madhësia e patch-it është 37 MB (ndryshimet preken 11366 skedarë, janë shtuar 506043 rreshta kodi, dhe janë fshirë 250954 rreshta). Afërsisht 44% e të gjitha ndryshimeve të paraqitura në 5.17 lidhen me drejtuesit e pajisjeve, rreth 16% e ndryshimeve kanë të bëjnë me përditësimin e kodit të veçantë për arkitekturën harduerike, 15% lidhen me shtresën e rrjetit, 4% me sistemet e skedarëve dhe 4% me nën-sistemet e brendshme të bërthames.
Novitetet kryesore në bërthamën 5.17:
- Sistemi i disqeve, hyrja/ dalje dhe sistemet e skedarëve
- Janë implementuar mundësitë për përputhjen e identifikuesve të përdoruesve në skedarët e montuar, që aplikohen për të lidhur skedarët e një përdoruesi në një pjesë të huaj të montuar me një përdorues tjetër në sistemin aktual. Mundësia e shtuar lejon përdorimin rekursiv të përputhjes mbi sistemet e skedarëve për të cilat tashmë aplikohet përputhja.
- E gjithë nën-sistemi fscache është shkruar nga e para, i aplikuar për organizimin e keqcache-timit në sistemin lokal të skedarëve të dhënave, të transmetuara përmes sistemeve të skedarëve rrjetë. Implementimi i ri dallon për thjeshtësinë e kodit dhe zëvendësimin e operacioneve komplekse të planifikimit dhe ndjekjes së gjendjeve të objekteve me mekanizma më të thjeshtë. Mbështetja për fscache të re është implementuar në sistemin e skedarëve CIFS.
- Në nën-sistem të ndjekjes së ngjarjeve në FS, fanotify është realizuar një tip i ri ngjarjesh FAN_RENAME, i cili lejon kapjen e një operacioni rinaming të skedarëve ose katalogëve me një herë (më parë për trajtim të rinaming është 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, e cila Ă«shtĂ« realizuar duke kopjuar vetĂ«m çelĂ«sat e indeksit dhe duke reduktuar volumenin e tĂ« dhĂ«nave tĂ« regjistruara. ĂshtĂ« siguruar mbĂ«shtetje pĂ«r indeksimin dhe kĂ«rkimin sipas madhĂ«sisĂ« sĂ« shĂ«nimeve pĂ«r hapĂ«sirĂ«n e lirĂ«, gjĂ« qĂ« ka lejuar njĂ« reduktim prej rreth 30% tĂ« vonesave dhe ka shkurtuar kohĂ«n e kĂ«rkimit. JanĂ« lejuar ndalimet e operacioneve tĂ« defragmentimit. ĂshtĂ« pĂ«rfshirĂ« mundĂ«sia e shtimit tĂ« pajisjeve gjatĂ« ndalimit tĂ« balancimit midis diskĂ«ve, pra, kur montohet FS me opsionin skip_balance.
- ĂshtĂ« propozuar njĂ« sintaksĂ« e re pĂ«r montimin e sistemit tĂ« skedarĂ«ve Ceph, e cila zgjidh problemet e ekzistuara tĂ« lidhura me adresat IP. PĂ«rveç IP-adresat pĂ«r pĂ«rcaktimin e serverit tani mund tĂ« pĂ«rdoret identifikatori i klasĂ«s (FSID): mount -t ceph user@fsid.fs_name=\/[subdir] mnt -o mon_addr=monip1[:port][\/monip2[:port]]
- Sistemi i skedarĂ«ve Ext4 Ă«shtĂ« transferuar nĂ« njĂ« API tĂ« ri pĂ«r montimin, i cili ndan fazat e analizĂ«s sĂ« opsioneve tĂ« montimit dhe konfigurimit tĂ« superblokut. ĂshtĂ« ndĂ«rprerĂ« mbĂ«shtetja pĂ«r opsionet e montimit lazytime dhe nolazytime, tĂ« cilat ishin shtuar si njĂ« ndryshim pĂ«rkohĂ«sor pĂ«r tĂ« simplifikuar kalimin nĂ« pĂ«rdorimin e flamurit MS_LAZYTIME nĂ« util-linux. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r vendosjen dhe leximin e etiketave nĂ« FS (ioctl FS_IOC_GETFSLABEL dhe FS_IOC_SETFSLABEL).
- NFSv4 janë shtuar mbështetje për funksionimin 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).
- Memorie dhe shërbime sistemike
- ĂshtĂ« shtuar drejtuesi amd-pstate, i cili siguron menaxhimin dinamik tĂ« frekuencĂ«s pĂ«r arritjen e performancĂ«s optimale. Drejtuesi mbĂ«shtet CPU dhe APU AMD qĂ« nga brezi Zen 2, Ă«shtĂ« zhvilluar nĂ« bashkĂ«punim me kompaninĂ« Valve dhe ka si qĂ«llim pĂ«rmirĂ«simin 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 Ă«shtĂ« i kufizuar nĂ« tre nivele performance) dhe reagon mĂ« shpejt ndaj ndryshimeve tĂ« gjendjes, sesa drejtuesit e P-state tĂ« pĂ«rdorur mĂ« parĂ« mbi bazĂ«n e ACPI (CPUFreq).
- Në nën-sistemën e eBPF është propozuar procesori bpf_loop(), që 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 kontrolluar nga verifikatori.
- NĂ« nivelin e bĂ«rthamĂ«s Ă«shtĂ« realizuar mekanizmi CO-RE (Compile Once â Run Everywhere), i cili lejon qĂ« kodi i programeve eBPF tĂ« mblidhet vetĂ«m njĂ« herĂ« dhe tĂ« pĂ«rdoret njĂ« ngarkues universale, qĂ« e pĂ«rshtat programin e ngarkuar me bĂ«rthamĂ«n aktuale dhe llojet BTF (BPF Type Format).
- ĂshtĂ« ofruar mundĂ«sia pĂ«r tĂ« caktuar emra pĂ«r zonat e memories private anonime (tĂ« dedikuar pĂ«rmes malloc), qĂ« mund tĂ« thjeshtĂ«sojĂ« procesin e debgimit dhe optimizimin e konsumit tĂ« memories nĂ« aplikacione. Emrat caktohen pĂ«rmes prctl me flagun PR_SET_VMA_ANON_NAME dhe shfaqen nĂ« /proc/pid/maps dhe /proc/pid/smaps nĂ« formĂ«n «[anon:<name>]».
- Në planifikuesin e detyrave është siguruar ndjekja dhe shfaqja në /proc/PID/sched të kohës së kaluar nga proceset në gjendjen e qëndresës së detyruar (forced-idle), e cila përdoret, për shembull, për të reduktuar ngarkesën në rast të mbinxehjes së procesorit.
- Janë shtuar moduli gpio-sim, i cili është i destinuar për simimin e çipave GPIO për teste.
- Në komandën «perf ftrace» është shtuar nënkomanda «latency» për të gjeneruar histogramë me informacion mbi vonesat.
- Janë shtuar një grup mjetesh «RTLA» për analizimin e funksionimit në mënyrë reale. Brenda këtij grupi janë mjete si osnoise (përcakton ndikimin e sistemit operativ mbi ekzekutimin e detyrave) dhe timerlat (në ndryshon vonesat e lidhura me timerin).
- Integruar një serë e dytë patchesh me realizimin e konceptit të fletëve të pagesave të memories (page folios), të cilat janë të ngjashme me faqet e bashkuara të memories (compound pages), por dallohen për semantikë të përmirësuar dhe organizim më të qartë të funksionimit. Përdorimi i fletëve lejon përshpejtimin e menaxhimit të memories në disa nën-sisteme të bërthamës. Në patch-et e propozuara është përfunduar transferimi i caches të faqeve në përdorimin e fletëve dhe është shtuar mbështetje fillestare për fletët në FS XFS.
- Shtuar mënyra e ndërtimit «make mod2noconfig», e cila gjeneron një konfigurim që ndërtimin e të gjitha nën-sistemeve të çaktivizuara në formën e moduleve të bërthamës.
- Janë rritur kërkesat për versionin LLVM/Clang, i cili mund të përdoret për ndërtimin e bërthamës. Tani për ndërtimin kërkohet të paktën versioni 11 i LLVM.
- Virtualizimi dhe siguria
- ĂshtĂ« propozuar njĂ« implementim i azhurnuar i gjeneratorit tĂ« numrave tĂ« rastit RDRAND, i cili pĂ«rgjigjet pĂ«r funksionimin e pajisjeve /dev/random dhe /dev/urandom, i veçuar nga kalimi nĂ« pĂ«rdorimin e funksionit tĂ« hash-it BLAKE2s nĂ« vend tĂ« SHA1 pĂ«r operacionet e pĂ«rzierjes sĂ« entropisĂ«. Ky ndryshim ka lejuar rritjen e sigurisĂ« sĂ« gjeneratorit tĂ« numrave tĂ« rastit, duke eliminuar algoritmin problematik SHA1 dhe duke pĂ«rjashtuar rishtazimin e vektorit tĂ« inicializimit tĂ« RNG. Duke qenĂ« se algoritmi BLAKE2s e tejkalon SHA1 nĂ« performancĂ«, aplikuar gjithashtu ka pasur njĂ« ndikim pozitiv nĂ« performancĂ«n.
- ĂshtĂ« shtuar mbrojtja nga dobĂ«sitĂ« nĂ« procesorĂ«, tĂ« shkaktuar nga ekzekutimi spekulativ i instruksioneve pas operacioneve tĂ« kalimit tĂ« drejtpĂ«rdrejtĂ« tĂ« patĂ«metĂ«. Problemi shfaqet pĂ«r shkak tĂ« pĂ«rpunimit pĂ«rpara tĂ« instruksioneve qĂ« ndodhin nĂ« kujtesĂ« menjĂ«herĂ« pas komandĂ«s sĂ« kalimit (SLS, Straight Line Speculation). PĂ«r tĂ« aktivizuar mbrojtjen kĂ«rkohet ndĂ«rtim 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 fokusuar nĂ« uljen e numrit tĂ« gabimeve gjatĂ« numĂ«rimit tĂ« referencave qĂ« çojnĂ« nĂ« qasje nĂ« kujtesĂ« pas çlirimit tĂ« saj. Mekanizmi aktualisht Ă«shtĂ« i kufizuar nĂ« nĂ«n-sistemin rrjetit, por nĂ« tĂ« ardhmen mund tĂ« adaptohet edhe pĂ«r pjesĂ« tĂ« tjera tĂ« bĂ«rthamĂ«s.
- Janë realizuar kontrollime të zgjeruara për shënime të reja në tabelën e faqeve të kujtesës së procesit, duke mundësuar identifikimin e disa llojeve të dëmtimeve dhe ndalimin e sistemit duke bllokuar sulmet në një fazë të hershme.
- ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« shkarkuar module tĂ« bĂ«rthamĂ«s direkt nga bĂ«rthama vetĂ«, nĂ« vend tĂ« pĂ«rpunuesit nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, duke lejuar me ndihmĂ«n e modulit LSM LoadPin qĂ« modulet e bĂ«rthamĂ«s tĂ« ngarkohen nĂ« kujtesĂ« nga njĂ« pajisje ruajtĂ«se e verifikuar.
- ĂshtĂ« siguruar ndĂ«rtimi me flagun "-Wcast-function-type", i cili pĂ«rfshin daljen e paralajmĂ«rimeve pĂ«r konvertimin e treguesve tĂ« funksioneve nĂ« njĂ« lloj tĂ« papajtueshĂ«m.
- ĂshtĂ« shtuar njĂ« drejtues virtual i hostit pvUSB pĂ«r hipervizorin Xen, qĂ« siguron akses nĂ« pajisjet USB, tĂ« cilat janĂ« kalmuar nĂ« sistemet mikpritĂ«se (lejon sistemet mikpritĂ«se tĂ« aksesojnĂ« pajisjet fizike USB, tĂ« aneksuara sistemit mikpritĂ«s).
- Shtimi i një moduli që lejon ndërveprimin përmes Wi-Fi me nën-sistemin IME (Intel Management Engine), i cili ofrohet në shumicën e pllakave të modernizuara me procesorë Intel dhe është implementuar si një mikroprocesor i veçantë, që funksionon pavarësisht CPU-së.
- Për arkitekturën ARM64 është implementuar mbështetje për mjetin e debug KCSAN (Kernel Concurrency Sanitizer), i cili është i dedikuar për identifikimin dinamik të kushteve 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 në punën me kujtesën.
- Në hipervizorin KVM është shtuar mbështetje për instrukcionet AMX (Advanced Matrix Extensions), të implementuara në procesorët e ardhshëm serverë Intel Xeon Scalable.
- Sistemi rrjetor
- Shtuar mbështetje për offloading në pajisjet e rrjetit të operacioneve që lidhen me menaxhimin e trafik të dhënash.
- Shtuar mundësia e përdorimit të protokollit MCTP (Management Component Transport Protocol) mbi pajisjet me interfacing serial. MCTP mund të përdoret për ndërveprimin e kontrollorëve menaxhues dhe pajisjeve të lidhura (procesorët host, pajisjet periferike etj.).
- Optimizuar TCP stack, 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 lejohet caktimi i modeleve SO_PRIORITY dhe SO_MARK përmes funksionit setsockopt.
- Për IPv4 lejohet lidhja e soketeve të papërpunuara jo me adresat IP lokale, duke përdorur opsionet IP_FREEBIND dhe IP_TRANSPARENT.
- Shtuar sysctl arp_missed_max për konfigurimin e numrit prag të dështimeve gjatë kontrollit nga monitori ARP, pas së cilës interface-i rrjetit kalon në gjendje të çaktivizuar.
- Ofrohet mundësia e konfigurimit të vlerave të veçanta sysctl min_pmtu dhe mtu_expires për hapësirat e emrave të rrjetit.
- Në API ethtool është shtuar mundësia për të caktuar dhe përcaktuar madhësinë e bufeve për paketat hyrëse dhe dalëse.
- Në Netfilter është shtuar mbështetje për filtrimin e trafik të tranzitit pppoe në urën e rrjetit.
- Në modulin ksmbd me implementimin e skedarëve, që përdor protokollin SMB3, është shtuar mbështetje për shkëmbimin e çelësave, është angazhuar porta e rrjetit 445 për smbdirect dhe është shtuar mbështetje për parametrin "smb2 max credit. serverë, duke përdor 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.
- Pajisje
- Në nën-sistemin drm (Direct Rendering Manager) dhe në drejtuesin i915 është shtuar mbështetje për ekranet që shfaqin informacion konfidencial, për shembull, disa laptopë janë të pajisur me ekrane me një mod të integruar për shikim konfidencial që pengon shikimin nga ana. Ndryshimet e shtuara lejojnë lidhjen e drejtuesve të specializuar për këto ekrane dhe menaxhimin e modit të shikimit konfidencial përmes vendosjes së pronave në drejtuesit KMS të zakonshëm.
- Në drejtuesin amdgpu është përfshirë mbështetje për teknologjinë e debugimit STB (Smart Trace Buffer) për të gjithë GPU-të AMD që e mbështesin atë. STB e thjeshton analizimin e dështimeve dhe identifikimin e burimeve të problemeve përmes ruajtjes në një buffer të veçantë të informacionit rreth funksioneve që janë kryer para dështimit të fundit.
- NĂ« drejtuesin i915 Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r çipat Intel Raptor Lake S dhe mbĂ«shtetje e ativizuar pĂ«r grafikĂ«n e çipave Intel Alder Lake P. ĂshtĂ« ofruar mundĂ«sia pĂ«r tĂ« menaxhuar ndriçimin e ekranit pĂ«rmes ndĂ«rfaqes DPCD nga VESA.
- Në drejtuesit fbcon/fbdev është rikthyer mbështetje për përshpejtimin harduerik të rrotullimit në konsolë.
- ĂshtĂ« vijuar integrimi i ndryshimeve pĂ«r mbĂ«shtetje tĂ« çipave Apple M1. ĂshtĂ« realizuar mundĂ«sia e pĂ«rdorimit tĂ« drejtuesit simpledrm nĂ« sistemet me çipin Apple M1 pĂ«r dalje pĂ«rmes framebuffer-it tĂ« siguruar nga firmware.
- Kontingent mbështetje për ARM SoC, pajisje dhe pllaka 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ë ruterët 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.
- Shtuar mbështetje për procesorët ARM Cortex-M55 dhe Cortex-M33.
- Shtuar mbështetje për pajisjet që bazohen në CPU MIPS: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
- Shtuar mbështetje për SoC StarFive JH7100 që bazohet në arkitekturën RISC-V.
- Shtuar drejtuesin lenovo-yogabook-wmi për menaxhimin e ndriçimit të tastierës dhe aksesin në sensorë të ndryshëm në Lenovo Yoga Book.
- Shtuar drejtuesin asus_wmi_sensors për akses në sensorët që përdoren në pllakat e nënshkruara Asus X370, X470, B450, B550 dhe X399 të bazuara në procesorët AMD Ryzen.
- Shtuar drejtuesin x86-android-tablets për tabletët që bazohen në arkitekturën x86, të dërguar me platformën Android.
- Shto u shtua mbështetje për ekranet me prekje TrekStor SurfTab duo W1 dhe stilolapsin për tabletët Chuwi Hi10 Plus dhe Pro.
- Në driverët për SoC Tegra 20/30 u shtua mbështetje për menaxhimin e energjisë dhe tensionit. U mundësua ngarkimi në pajisjet e vjetra 32-bitë që përdorin SoC Tegra, si ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 dhe Pad TF300TG.
- U shtuan driverët për kompjuterët industrialë Siemens.
- U shtua 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.
- U shtua 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/PDIF, Qualcomm ALC5682I-VS, Texas Instruments TLV320ADC3xxx. U zgjidhën problemet me Tegra194 HD-audio. U shtua mbështetje HDA për kodekët CS35L41. U përmirësua mbështetja për sistemet audio për laptopët Lenovo dhe HP, si dhe për pllakën nëna Gigabyte.
Burimi: opennet.ru
