Pas dy muajsh zhvillimi, Linus Torvalds publikoi bërthamën. Linux 5.17. Ndër ndryshimet më të dukshme: një sistem i ri menaxhimi i performancës për procesorët AMD, aftësia për të hartëzuar në mënyrë rekursive ID-të e përdoruesve në sistemet e skedarëve, mbështetja për programet portative të kompiluara BPF, migrimi i gjeneratorit të numrave pseudo-rastësorë në algoritmin BLAKE2s, programi RTLA për analizën e ekzekutimit në kohë reale, një backend i ri fscache për ruajtjen në memorje të sistemeve të skedarëve të rrjetit, aftësia për të bashkëngjitur emra në operacionet anonime mmap.
Versioni i ri përfshin 14203 rregullime nga 1995 zhvillues, madhësia e patch-it është 37 MB (ndryshimet prekën 11366 skedarë, u shtuan 506043 rreshta kodi, u fshinë 250954 rreshta). Rreth 44% e të gjitha ndryshimeve të paraqitura në 5.17 lidhen me drejtuesit e pajisjes, afërsisht 16% e ndryshimeve kanë të bëjnë me përditësimin e kodit specifik për arkitekturat e harduerit, 15% janë të lidhura me grupin e rrjetit, 4% kanë të bëjnë me sistemet e skedarëve dhe 4% janë të lidhura me nënsistemet e brendshme të kernelit.
Risitë kryesore në kernel 5.17:
- Nënsistemi i diskut, I/O dhe sistemet e skedarëve
- Zbatoi mundësinë e hartës së mbivendosur të ID-ve të përdoruesve të sistemeve të skedarëve të montuar, të përdorura për të krahasuar skedarët e një përdoruesi specifik në një ndarje të huaj të montuar me një përdorues tjetër në sistemin aktual. Funksioni i shtuar ju lejon të përdorni në mënyrë rekursive hartëzimin në krye të sistemeve të skedarëve për të cilat harta është aplikuar tashmë.
- Nënsistemi fscache, i përdorur për të organizuar caching në sistemin lokal të skedarëve të të dhënave të transferuara përmes sistemeve të skedarëve të rrjetit, është rishkruar plotësisht. Zbatimi i ri dallohet nga një thjeshtësim i konsiderueshëm i kodit dhe zëvendësimi i operacioneve komplekse të gjendjeve të objekteve të planifikimit dhe gjurmimit me mekanizma më të thjeshtë. Mbështetja për fscache-në e re zbatohet në sistemin e skedarëve CIFS.
- Nënsistemi i gjurmimit të ngjarjeve në fanotify FS zbaton një lloj të ri ngjarjeje, FAN_RENAME, i cili ju lejon të përgjoni menjëherë funksionimin e riemërtimit të skedarëve ose drejtorive (më parë, dy ngjarje të veçanta FAN_MOVED_FROM dhe FAN_MOVED_TO janë përdorur për të përpunuar riemërtimet).
- Sistemi i skedarĂ«ve Btrfs ka optimizuar operacionet e regjistrimit dhe fsync pĂ«r drejtoritĂ« e mĂ«dha, tĂ« zbatuara duke kopjuar vetĂ«m çelĂ«sat e indeksit dhe duke zvogĂ«luar sasinĂ« e meta tĂ« dhĂ«nave tĂ« regjistruara. ĂshtĂ« ofruar mbĂ«shtetje pĂ«r indeksimin dhe kĂ«rkimin sipas madhĂ«sisĂ« sĂ« tĂ« dhĂ«nave tĂ« hapĂ«sirĂ«s sĂ« lirĂ«, gjĂ« qĂ« ka reduktuar vonesĂ«n me afĂ«rsisht 30% dhe ka zvogĂ«luar kohĂ«n e kĂ«rkimit. Lejohet tĂ« ndĂ«rpresĂ« operacionet e defragmentimit. AftĂ«sia pĂ«r tĂ« shtuar pajisje gjatĂ« balancimit midis disqeve Ă«shtĂ« e çaktivizuar, d.m.th. kur montoni njĂ« sistem skedari me opsionin skip_balance.
- ĂshtĂ« propozuar njĂ« sintaksĂ« e re pĂ«r montimin e sistemit tĂ« skedarĂ«ve Ceph, e cila zgjidh problemet ekzistuese qĂ« lidhen me lidhjen me adresat IP. PĂ«rveç kĂ«saj, Adresat IP Tani mund tĂ« pĂ«rdorni identifikuesin e klasterit (FSID) pĂ«r tĂ« identifikuar njĂ« server: mount -t ceph user@fsid.fs_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
- Sistemi i skedarëve Ext4 është zhvendosur në një API të ri montimi që ndan hapat e analizimit të opsioneve të montimit dhe konfigurimit të superbllokut. Ne kemi hequr mbështetjen për opsionet e montimit lazytime dhe nolazytime, të cilat u shtuan si një ndryshim i përkohshëm për të lehtësuar kalimin e util-linux për të përdorur flamurin MS_LAZYTIME. Mbështetje e shtuar për vendosjen dhe leximin e etiketave në FS (ioctl FS_IOC_GETFSLABEL dhe FS_IOC_SETFSLABEL).
- NFSv4 shtoi mbështetje për të punuar në sistemet e skedarëve të pandjeshëm ndaj rasteve në emrat e skedarëve dhe dosjeve. NFSv4.1+ shton mbështetje për përcaktimin e seancave të grumbulluara (trunking).
- Shërbimet e kujtesës dhe sistemit
- Shtuar drejtues amd-pstate për të siguruar kontroll dinamik të frekuencës për performancë optimale. Shoferi mbështet CPU dhe APU AMD duke filluar nga gjenerata Zen 2, e zhvilluar së bashku me Valve dhe synon të përmirësojë efikasitetin e menaxhimit të energjisë. Për ndryshimet adaptive të frekuencës, përdoret mekanizmi CPPC (Kontrolli i Performancës së Procesorit Bashkëpunues), i cili ju lejon të ndryshoni treguesit më saktë (jo kufizuar në tre nivele të performancës) dhe t'i përgjigjeni më shpejt ndryshimeve të gjendjes sesa gjendja P e përdorur më parë e bazuar në ACPI. drejtuesit (CPUFreq).
- Nënsistemi eBPF ofron një mbajtës bpf_loop(), i cili ofron një mënyrë alternative për të organizuar sythe në programet eBPF, më të shpejtë dhe më të lehtë për verifikim nga një verifikues.
- Në nivelin e kernelit, zbatohet mekanizmi CO-RE (Compile Once - Run Everywhere), i cili ju lejon të përpiloni kodin e programeve eBPF vetëm një herë dhe të përdorni një ngarkues të veçantë universal që përshtat programin e ngarkuar me llojet aktuale të kernelit dhe BTF. (Formati i Llojit BPF).
- ĂshtĂ« e mundur tĂ« caktohen emra nĂ« zonat e memories private anonime (tĂ« ndara nĂ«pĂ«rmjet malloc), tĂ« cilat mund tĂ« thjeshtojnĂ« korrigjimin dhe optimizimin e konsumit tĂ« memories nĂ« aplikacione. Emrat caktohen nĂ«pĂ«rmjet prctl me flamurin PR_SET_VMA_ANON_NAME dhe shfaqen nĂ« /proc/pid/maps dhe /proc/pid/smaps nĂ« formĂ«n "[anon: ]".
- Planifikuesi i detyrave siguron gjurmimin dhe shfaqjen në /proc/PID/sched të kohës së shpenzuar nga proceset në gjendjen e papunë të detyruar, që përdoret, për shembull, për të reduktuar ngarkesën kur procesori mbinxehet.
- Moduli i shtuar gpio-sim, i krijuar për të simuluar çipat GPIO për testim.
- Shtoi një nënkomandë "latency" në komandën "perf ftrace" për të gjeneruar histograme me informacion latente.
- U shtua një grup shërbimesh "RTLA" për të analizuar punën në kohë reale. Ai përfshin shërbime të tilla si osnoise (përcakton ndikimin e sistemit operativ në ekzekutimin e një detyre) dhe timerlat (ndryshon vonesat që lidhen me kohëmatësin).
- Një seri e dytë arnimesh është integruar me zbatimin e konceptit të fletëve të faqeve, të cilat i ngjajnë faqeve të përbëra, por kanë përmirësuar semantikën dhe një organizim më të qartë të punës. Përdorimi i tomes ju lejon të përshpejtoni menaxhimin e kujtesës në disa nënsisteme kernel. Arnimet e propozuara përfunduan konvertimin e cache të faqeve në përdorimin e tomes dhe shtuan mbështetjen fillestare për tomes në sistemin e skedarëve XFS.
- U shtua modaliteti i ndërtimit "make mod2noconfig", i cili gjeneron një konfigurim që mbledh të gjitha nënsistemet me aftësi të kufizuara në formën e moduleve të kernelit.
- Kërkesat për versionin e LLVM/Clang që mund të përdoret për të ndërtuar kernelin janë ngritur. Ndërtimi tani kërkon të paktën lëshimin e LLVM 11.
- Virtualizimi dhe Siguria
- Propozohet një zbatim i përditësuar i gjeneratorit të numrave pseudo të rastësishëm RDRAND, përgjegjës për funksionimin e pajisjeve /dev/random dhe /dev/urandom, i dukshëm për kalimin në përdorimin e funksionit hash BLAKE2s në vend të SHA1 për operacionet e përzierjes së entropisë. Ndryshimi përmirësoi sigurinë e gjeneratorit të numrave pseudo të rastësishëm duke eliminuar algoritmin problematik SHA1 dhe duke eliminuar mbishkrimin e vektorit të inicializimit RNG. Meqenëse algoritmi BLAKE2s është superior ndaj SHA1 në performancë, përdorimi i tij gjithashtu pati një efekt pozitiv në performancë.
- Mbrojtje e shtuar kundĂ«r dobĂ«sive nĂ« procesorĂ« tĂ« shkaktuar nga ekzekutimi spekulativ i udhĂ«zimeve pas operacioneve tĂ« pakushtĂ«zuara tĂ« kĂ«rcimit pĂ«rpara. Problemi ndodh pĂ«r shkak tĂ« pĂ«rpunimit parandalues ââtĂ« udhĂ«zimeve menjĂ«herĂ« pas udhĂ«zimit tĂ« degĂ«s nĂ« memorie (SLS, Spekulimi i LinjĂ«s sĂ« DrejtĂ«). Aktivizimi i mbrojtjes kĂ«rkon ndĂ«rtim me versionin aktualisht testues tĂ« GCC 12.
- U shtua një mekanizëm për gjurmimin e numërimit të referencës (refcount, reference-count), që synon të zvogëlojë numrin e gabimeve në numërimin e referencës që çojnë në akses në memorie pasi të jetë liruar. Mekanizmi aktualisht është i kufizuar në nënsistemin e rrjetit, por në të ardhmen ai mund të përshtatet në pjesë të tjera të kernelit.
- Janë zbatuar kontrolle të zgjeruara të hyrjeve të reja në tabelën e faqeve të kujtesës së procesit, duke lejuar zbulimin e llojeve të caktuara të dëmtimeve dhe ndalimin e sistemit, duke bllokuar sulmet në një fazë të hershme.
- U shtua aftësia për të shpaketuar modulet e kernelit drejtpërdrejt nga vetë kerneli dhe jo nga një mbajtës në hapësirën e përdoruesit, gjë që lejon përdorimin e modulit LoadPin LSM për të siguruar që modulet e kernelit të ngarkohen në memorie nga një pajisje ruajtëse e verifikuar.
- Pajisur me një montim me flamurin "-Wcast-function-type", i cili mundëson paralajmërime në lidhje me transmetimin e treguesve të funksionit në një lloj të papajtueshëm.
- U shtua drejtuesi virtual i hostit pvUSB për hipervizorin Xen, duke siguruar akses në pajisjet USB të përcjella te sistemet e vizitorëve (lejon sistemet e vizitorëve të aksesojnë pajisjet fizike USB të caktuara për sistemin e ftuar).
- ĂshtĂ« shtuar njĂ« modul qĂ« ju lejon tĂ« ndĂ«rveproni nĂ«pĂ«rmjet Wi-Fi me nĂ«nsistemin IME (Intel Management Engine), i cili vjen nĂ« shumicĂ«n e pllakave amĂ« moderne me procesorĂ« Intel dhe zbatohet si njĂ« mikroprocesor i veçantĂ« qĂ« funksionon nĂ« mĂ«nyrĂ« tĂ« pavarur nga CPU.
- Për arkitekturën ARM64, mbështetja është zbatuar për mjetin e korrigjimit KCSAN (Kernel Concurrency Sanitizer), i krijuar për të zbuluar në mënyrë dinamike kushtet e garës brenda kernelit.
- Për sistemet ARM 32-bitësh, është shtuar aftësia për të përdorur mekanizmin KFENCE për të zbuluar gabimet gjatë punës me memorie.
- Hipervizori KVM shton mbështetje për udhëzimet AMX (Advanced Matrix Extensions) të zbatuara në procesorët e ardhshëm të serverëve Intel Xeon Scalable.
- Nënsistemi i rrjetit
- Mbështetje e shtuar për shkarkimin e operacioneve që lidhen me menaxhimin e trafikut në anën e pajisjeve të rrjetit.
- U shtua aftësia për të përdorur MCTP (Management Component Transport Protocol) mbi pajisjet serike. MCTP mund të përdoret për të komunikuar ndërmjet kontrolluesve të menaxhimit dhe pajisjeve të tyre të lidhura (procesorët pritës, pajisjet periferike, etj.).
- Stacki TCP është optimizuar, për shembull, për të përmirësuar performancën e thirrjeve recvmsg, është zbatuar lëshimi i vonuar i buferave të prizës.
- Në nivelin e autoritetit CAP_NET_RAW, lejohet vendosja e modaliteteve SO_PRIORITY dhe SO_MARK përmes funksionit setsockopt.
- Për IPv4, bazat e papërpunuara lejohen të lidhen me adresat IP jo lokale duke përdorur opsionet IP_FREEBIND dhe IP_TRANSPARENT.
- U shtua sysctl arp_missed_max për të konfiguruar numrin e pragut të dështimeve gjatë kontrollit të monitorit ARP, pas së cilës ndërfaqja e rrjetit vendoset në një gjendje të çaktivizuar.
- Ofron mundësinë për të konfiguruar vlera të veçanta sysctl min_pmtu dhe mtu_expires për hapësirat e emrave të rrjetit.
- U shtua aftësia për të vendosur dhe përcaktuar madhësinë e buferave për paketat hyrëse dhe dalëse në API të ethtool.
- Netfilter ka shtuar mbështetje për filtrimin e trafikut transit pppoe në një urë rrjeti.
- Në modulin ksmbd me implementimin e skedarit server, i cili përdor protokollin SMB3, shtoi mbështetje për shkëmbimin e çelësave, aktivizoi portin e rrjetit 445 për smbdirect dhe shtoi mbështetje për parametrin "smb2 max credit".
- ĐĐ±ĐŸŃŃĐŽĐŸĐČĐ°ĐœĐžĐ”
- Mbështetja për ekranet për shfaqjen e informacionit konfidencial është shtuar në nënsistemin drm (Direct Renderering Manager) dhe drejtuesin i915, për shembull, disa laptopë janë të pajisur me ekrane me një modalitet shikimi konfidencial të integruar, duke e bërë të vështirë shikimin nga jashtë. . Ndryshimet e shtuara ju lejojnë të lidhni drejtues të specializuar për ekrane të tilla dhe të kontrolloni mënyrat konfidenciale të shfletimit duke vendosur vetitë në drejtuesit e rregullt KMS.
- Drejtuesi amdgpu përfshin mbështetjen për teknologjinë e korrigjimit STB (Smart Trace Buffer) për të gjitha GPU-të AMD që e mbështesin atë. STB e bën më të lehtë analizimin e dështimeve dhe identifikimin e burimit të problemeve duke ruajtur në një tampon të veçantë informacionin rreth funksioneve të kryera përpara dështimit të fundit.
- Drejtuesi i915 shton mbĂ«shtetje pĂ«r çipat Intel Raptor Lake S dhe mundĂ«son mbĂ«shtetje pĂ«r nĂ«nsistemin grafik tĂ« çipave Intel Alder Lake P si parazgjedhje. ĂshtĂ« e mundur tĂ« kontrollohet drita e prapme e ekranit nĂ«pĂ«rmjet ndĂ«rfaqes VESA DPCD.
- Mbështetja për përshpejtimin e lëvizjes së harduerit në tastierë është kthyer në drejtuesit e fbcon/fbdev.
- Integrimi i vazhdueshëm i ndryshimeve për të mbështetur çipat Apple M1. Zbatoi aftësinë për të përdorur drejtuesin simpledrm në sistemet me një çip Apple M1 për dalje përmes një bufferi kornizë të ofruar nga firmware.
- Mbështetje e shtuar për ARM SoХ, pajisjet dhe bordet 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ë ruterat Wi-Fi), Broadcom BCM4908 (Netgear RAXE500), Qualcomm SDX65, Samsung Exynos7885, Renesas R-Car S4-8, TI J721s2, TI J320s8, TI SPEX8 , 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.
- Mbështetje e shtuar për procesorët ARM Cortex-M55 dhe Cortex-M33.
- Mbështetje e shtuar për pajisjet e bazuara në CPU MIPS: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
- Mbështetje e shtuar për StarFive JH7100 SoC bazuar në arkitekturën RISC-V.
- U shtua drejtuesi lenovo-yogabook-wmi për të kontrolluar dritën e pasme të tastierës dhe për të aksesuar sensorë të ndryshëm në Librin e Lenovo Yoga.
- U shtua drejtuesi i asus_wmi_sensors për të aksesuar sensorët e përdorur në motherboard Asus X370, X470, B450, B550 dhe X399 bazuar në procesorët AMD Ryzen.
- U shtua drajveri x86-android-tablets për tabletët e bazuar në x86 që vijnë me platformën. Android.
- Mbështetje e shtuar për ekranet me prekje TrekStor SurfTab duo W1 dhe stilolapsin elektronik për tabletët Chuwi Hi10 Plus dhe Pro.
- Drejtuesit për SoC Tegra 20/30 kanë shtuar mbështetje për menaxhimin e energjisë dhe tensionit. Aktivizon nisjen në pajisjet e vjetra Tegra SoC 32-bit si ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 dhe Pad TF300TG.
- Drejtues të shtuar për kompjuterët industrialë Siemens.
- Mbështetje e shtuar për Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946 TCPC-043015 dhe panelet e ekipit.
- Mbështetje e shtuar për sistemet e zërit dhe kodekët AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, sistemet Intel duke përdorur NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS.VS320x3, Texas Problemet me Tegra194 HD-audio janë zgjidhur. U shtua mbështetje HDA për kodekët CS35L41. Mbështetje e përmirësuar për sistemet e zërit për laptopët Lenovo dhe HP, si dhe pllakat amë Gigabyte.
Burimi: opennet.ru
