PÄc divu mÄneÅ”u izstrÄdes Linuss Torvalds iepazÄ«stinÄja ar Linux kodola 5.17 izlaiÅ”anu. Starp ievÄrojamÄkajÄm izmaiÅÄm: jauna AMD procesoru veiktspÄjas pÄrvaldÄ«bas sistÄma, iespÄja rekursÄ«vi kartÄt lietotÄju ID failu sistÄmÄs, atbalsts pÄrnÄsÄjamÄm kompilÄtÄm BPF programmÄm, pseidogadÄ«juma skaitļu Ä£eneratora pÄreja uz BLAKE2s algoritmu, RTLA utilÄ«ta. reÄllaika izpildes analÄ«zei, jauna fscache aizmugure tÄ«kla failu sistÄmu keÅ”atmiÅai saglabÄÅ”anai, iespÄja pievienot nosaukumus anonÄ«mÄm mmap darbÄ«bÄm.
JaunajÄ versijÄ ir iekļauti 14203 1995 labojumi no 37 11366 izstrÄdÄtÄjiem, ielÄpa izmÄrs ir 506043 MB (izmaiÅas skÄra 250954 44 failus, tika pievienotas 5.17 16 koda rindas, 15 4 rindiÅas tika izdzÄstas). Aptuveni 4% no visÄm XNUMX ieviestajÄm izmaiÅÄm ir saistÄ«tas ar ierÄ«Äu draiveriem, aptuveni XNUMX% izmaiÅu ir saistÄ«tas ar aparatÅ«ras arhitektÅ«rÄm raksturÄ«gÄ koda atjauninÄÅ”anu, XNUMX% ir saistÄ«tas ar tÄ«kla steku, XNUMX% ir saistÄ«tas ar failu sistÄmÄm un XNUMX% ir saistÄ«ti ar iekÅ”ÄjÄm kodola apakÅ”sistÄmÄm.
Galvenie jauninÄjumi kodolÄ 5.17:
- Diska apakÅ”sistÄma, I/O un failu sistÄmas
- Ieviesta iespÄja ligzdotu kartÄÅ”anu uzstÄdÄ«to failu sistÄmu lietotÄju ID, ko izmanto, lai salÄ«dzinÄtu konkrÄta lietotÄja failus uzstÄdÄ«tÄ sveÅ”Ä nodalÄ«jumÄ ar citu lietotÄju paÅ”reizÄjÄ sistÄmÄ. PievienotÄ funkcija ļauj rekursÄ«vi izmantot kartÄÅ”anu virs failu sistÄmÄm, kurÄm kartÄÅ”ana jau ir lietota.
- ApakÅ”sistÄma fscache, ko izmanto, lai organizÄtu keÅ”atmiÅu lokÄlajÄ failu sistÄmÄ datu pÄrraidei caur tÄ«kla failu sistÄmÄm, ir pilnÄ«bÄ pÄrrakstÄ«ta. JaunÄ ievieÅ”ana izceļas ar bÅ«tisku koda vienkÄrÅ”oÅ”anu un sarežģītu plÄnoÅ”anas un objektu stÄvokļu izsekoÅ”anas operÄciju aizstÄÅ”anu ar vienkÄrÅ”Äkiem mehÄnismiem. JaunÄs fscache atbalsts ir ieviests CIFS failu sistÄmÄ.
- Notikumu izsekoÅ”anas apakÅ”sistÄma fanotify FS ievieÅ” jaunu notikumu veidu FAN_RENAME, kas ļauj nekavÄjoties pÄrtvert failu vai direktoriju pÄrdÄvÄÅ”anas darbÄ«bu (iepriekÅ” pÄrdÄvÄÅ”anas apstrÄdei tika izmantoti divi atseviŔķi notikumi FAN_MOVED_FROM un FAN_MOVED_TO).
- Btrfs failu sistÄma ir optimizÄjusi reÄ£istrÄÅ”anas un fsync darbÄ«bas lieliem direktorijiem, kas ieviesta, kopÄjot tikai indeksa atslÄgas un samazinot reÄ£istrÄto metadatu daudzumu. Ir nodroÅ”inÄts atbalsts indeksÄÅ”anai un meklÄÅ”anai pÄc brÄ«vas vietas ierakstu lieluma, kas ir samazinÄjis latentumu par aptuveni 30% un samazinÄjis meklÄÅ”anas laiku. Atļauts pÄrtraukt defragmentÄÅ”anas darbÄ«bas. IespÄja pievienot ierÄ«ces, balansÄjot starp diskdziÅiem, ir atspÄjota, t.i. uzstÄdot failu sistÄmu ar opciju skip_balance.
- Ir ierosinÄta jauna sintakse Ceph failu sistÄmas montÄžai, atrisinot esoÅ”Äs problÄmas, kas saistÄ«tas ar saistÄ«Å”anu ar IP adresÄm. Papildus IP adresÄm tagad varat izmantot klastera identifikatoru (FSID), lai identificÄtu serveri: mount -t ceph [e-pasts aizsargÄts]_name=/[subdir] mnt -o mon_addr=monip1[:port][/monip2[:port]]
- Ext4 failu sistÄma ir pÄrvietota uz jaunu montÄžas API, kas atdala stiprinÄjuma opciju parsÄÅ”anas un superbloka konfigurÄcijas darbÄ«bas. MÄs esam atteikuÅ”ies no atbalsta lazytime un nolazytime pievienoÅ”anas opcijÄm, kas tika pievienotas kÄ pagaidu izmaiÅas, lai atvieglotu util-linux pÄreju uz karoga MS_LAZYTIME izmantoÅ”anu. Pievienots atbalsts etiÄ·eÅ”u iestatÄ«Å”anai un lasÄ«Å”anai FS (ioctl FS_IOC_GETFSLABEL un FS_IOC_SETFSLABEL).
- NFSv4 pievienoja atbalstu darbam reÄ£istrjutÄ«gÄs failu sistÄmÄs failu un direktoriju nosaukumos. NFSv4.1+ pievieno atbalstu apkopoto sesiju (maÄ£istrÄles) definÄÅ”anai.
- AtmiÅas un sistÄmas pakalpojumi
- Pievienots amd-pstate draiveris, lai nodroÅ”inÄtu dinamisku frekvences kontroli optimÄlai veiktspÄjai. Draiveris atbalsta AMD CPU un APU, sÄkot no Zen 2 paaudzes, kas izstrÄdÄti kopÄ«gi ar Valve un ir paredzÄti enerÄ£ijas pÄrvaldÄ«bas efektivitÄtes uzlaboÅ”anai. AdaptÄ«vÄm frekvences izmaiÅÄm tiek izmantots CPPC (Collaborative Processor Performance Control) mehÄnisms, kas ļauj precÄ«zÄk mainÄ«t rÄdÄ«tÄjus (ne tikai trÄ«s veiktspÄjas lÄ«meÅos) un ÄtrÄk reaÄ£Ät uz stÄvokļa izmaiÅÄm nekÄ iepriekÅ” izmantotais uz ACPI balstÄ«tais P-stÄvoklis. draiveri (CPUFreq).
- eBPF apakÅ”sistÄma piedÄvÄ bpf_loop() apdarinÄtÄju, kas nodroÅ”ina alternatÄ«vu veidu, kÄ organizÄt cilpas eBPF programmÄs, kas ir ÄtrÄka un vienkÄrÅ”Äka verificÄtÄjam.
- Kodola lÄ«menÄ« ir ieviests CO-RE (Compile Once - Run Everywhere) mehÄnisms, kas ļauj tikai vienu reizi sastÄdÄ«t eBPF programmu kodu un izmantot speciÄlu universÄlu ielÄdÄtÄju, kas pielÄgo ielÄdÄto programmu esoÅ”ajiem kodola un BTF veidiem. (BPF tipa formÄts).
- Ir iespÄjams pieŔķirt nosaukumus privÄtÄs anonÄ«mÄs (pieŔķirtas, izmantojot malloc) atmiÅas apgabaliem, kas var vienkÄrÅ”ot atkļūdoÅ”anu un atmiÅas patÄriÅa optimizÄciju lietojumprogrammÄs. VÄrdi tiek pieŔķirti, izmantojot prctl ar karodziÅu PR_SET_VMA_ANON_NAME, un tiek parÄdÄ«ti mapÄ /proc/pid/maps un /proc/pid/smaps formÄ "[anon: ]".
- Uzdevumu plÄnotÄjs nodroÅ”ina izsekoÅ”anu un parÄdÄ«Å”anu /proc/PID/sched laikÄ, kas pavadÄ«ts procesiem piespiedu dÄ«kstÄves stÄvoklÄ«, ko izmanto, piemÄram, lai samazinÄtu slodzi, kad procesors pÄrkarst.
- Pievienots gpio-sim modulis, kas paredzÄts GPIO mikroshÄmu simulÄÅ”anai testÄÅ”anai.
- Komandai "perf ftrace" ir pievienota apakÅ”komanda "latency", lai Ä£enerÄtu histogrammas ar latentuma informÄciju.
- Pievienots āRTLAā utilÄ«tu komplekts darba analÄ«zei reÄllaikÄ. Tas ietver tÄdas utilÄ«tas kÄ osnoise (nosaka operÄtÄjsistÄmas ietekmi uz uzdevuma izpildi) un timerlat (maina ar taimeri saistÄ«tÄs aizkaves).
- OtrÄ ielÄpu sÄrija ir integrÄta, ievieÅ”ot lapu foliju koncepciju, kas atgÄdina saliktas lapas, bet kurÄm ir uzlabota semantika un skaidrÄka darba organizÄcija. Tomes izmantoÅ”ana ļauj paÄtrinÄt atmiÅas pÄrvaldÄ«bu dažÄs kodola apakÅ”sistÄmÄs. IerosinÄtie ielÄpi pabeidza lapas keÅ”atmiÅas konvertÄÅ”anu uz tomu izmantoÅ”anu un pievienoja sÄkotnÄjo atbalstu tomiem XFS failu sistÄmÄ.
- Pievienots āmake mod2noconfigā veidoÅ”anas režīms, kas Ä£enerÄ konfigurÄciju, kas apkopo visas atspÄjotÄs apakÅ”sistÄmas kodola moduļu veidÄ.
- Ir paaugstinÄtas prasÄ«bas LLVM/Clang versijai, kuru var izmantot kodola izveidei. Lai izveidotu tagad, ir nepiecieÅ”ams vismaz LLVM 11 laidiens.
- VirtualizÄcija un droŔība
- Tiek piedÄvÄta atjauninÄta pseidogadÄ«juma skaitļu Ä£eneratora RDRAND ievieÅ”ana, kas ir atbildÄ«ga par /dev/random un /dev/urandom ierÄ«Äu darbÄ«bu, kas ir ievÄrojama ar pÄreju uz BLAKE2s jaucÄjfunkcijas izmantoÅ”anu SHA1 vietÄ entropijas sajaukÅ”anas operÄcijÄm. IzmaiÅas uzlaboja pseidogadÄ«juma skaitļu Ä£eneratora droŔību, novÄrÅ”ot problemÄtisko SHA1 algoritmu un novÄrÅ”ot RNG inicializÄcijas vektora pÄrrakstÄ«Å”anu. TÄ kÄ BLAKE2s algoritms veiktspÄjas ziÅÄ ir pÄrÄks par SHA1, tÄ izmantoÅ”ana arÄ« pozitÄ«vi ietekmÄja veiktspÄju.
- Pievienota aizsardzÄ«ba pret procesoru ievainojamÄ«bÄm, ko izraisa spekulatÄ«va instrukciju izpilde pÄc beznosacÄ«juma pÄrlÄkÅ”anas uz priekÅ”u operÄcijÄm. ProblÄma rodas, apsteidzot instrukcijas, kas tiek apstrÄdÄtas tÅ«lÄ«t pÄc atzarojuma instrukcijas atmiÅÄ (SLS, Straight Line Speculation). Lai iespÄjotu aizsardzÄ«bu, ir jÄveido, izmantojot paÅ”laik testÄjamo GCC 12 laidienu.
- Pievienots atsauÄu skaitÄ«Å”anas (pÄrskaitÄ«Å”anas, atsauces skaita) izsekoÅ”anas mehÄnisms, kura mÄrÄ·is ir samazinÄt atsauÄu skaitÄ«Å”anas kļūdu skaitu, kas noved pie piekļuves atmiÅai pÄc tÄs atbrÄ«voÅ”anas. PaÅ”laik mehÄnisms ir ierobežots ar tÄ«kla apakÅ”sistÄmu, bet nÄkotnÄ to var pielÄgot citÄm kodola daļÄm.
- Ir ieviestas paplaÅ”inÄtas jaunu ierakstu pÄrbaudes procesu atmiÅas lapu tabulÄ, kas ļauj atklÄt noteikta veida bojÄjumus un apturÄt sistÄmu, bloÄ·Äjot uzbrukumus agrÄ«nÄ stadijÄ.
- Pievienota iespÄja izpakot kodola moduļus tieÅ”i paÅ”am kodolam, nevis lietotÄja vietas apdarinÄtÄjam, kas ļauj izmantot LoadPin LSM moduli, lai nodroÅ”inÄtu kodola moduļu ielÄdi atmiÅÄ no verificÄtas atmiÅas ierÄ«ces.
- NodroÅ”inÄta komplektÄcija ar karogu "-Wcast-function-type", kas nodroÅ”ina brÄ«dinÄjumus par funkciju rÄdÄ«tÄju apraidi uz nesaderÄ«gu tipu.
- Pievienots virtuÄlÄ resursdatora draiveris pvUSB Xen hipervizoram, nodroÅ”inot piekļuvi USB ierÄ«cÄm, kas pÄrsÅ«tÄ«tas uz viesu sistÄmÄm (ļauj viesu sistÄmÄm piekļūt fiziskajÄm USB ierÄ«cÄm, kas pieŔķirtas viesu sistÄmai).
- Ir pievienots modulis, kas ļauj mijiedarboties, izmantojot Wi-Fi, ar IME (Intel Management Engine) apakÅ”sistÄmu, kas ir pieejama lielÄkajÄ daÄ¼Ä mÅ«sdienu mÄtesplatÄm ar Intel procesoriem un tiek realizÄta kÄ atseviŔķs mikroprocesors, kas darbojas neatkarÄ«gi no CPU.
- ARM64 arhitektÅ«rai ir ieviests atbalsts KCSAN (Kernel Concurrency Sanitizer) atkļūdoÅ”anas rÄ«kam, kas paredzÄts, lai dinamiski noteiktu sacensÄ«bu apstÄkļus kodolÄ.
- 32 bitu ARM sistÄmÄm ir pievienota iespÄja izmantot KFENCE mehÄnismu kļūdu noteikÅ”anai darbÄ ar atmiÅu.
- KVM hipervizors pievieno atbalstu AMX (Advanced Matrix Extensions) instrukcijÄm, kas ieviestas gaidÄmajos Intel Xeon Scalable serveru procesoros.
- TÄ«kla apakÅ”sistÄma
- Pievienots atbalsts ar satiksmes pÄrvaldÄ«bu saistÄ«to darbÄ«bu izkrauÅ”anai tÄ«kla ierÄ«Äu pusÄ.
- Pievienota iespÄja izmantot MCTP (Management Component Transport Protocol) pÄr seriÄlajÄm ierÄ«cÄm. MCTP var izmantot, lai sazinÄtos starp pÄrvaldÄ«bas kontrolieriem un ar tiem saistÄ«tajÄm ierÄ«cÄm (resursdatora procesoriem, perifÄrijas ierÄ«cÄm utt.).
- TCP kaudze ir optimizÄta, piemÄram, lai uzlabotu recvmsg zvanu veiktspÄju, ir ieviesta ligzdas buferu aizkavÄta atbrÄ«voÅ”ana.
- CAP_NET_RAW autoritÄtes lÄ«menÄ« ir atļauts iestatÄ«t režīmus SO_PRIORITY un SO_MARK, izmantojot setsockopt funkciju.
- IPv4 neapstrÄdÄtÄs ligzdas ir atļauts saistÄ«t ar nelokÄlÄm IP adresÄm, izmantojot opcijas IP_FREEBIND un IP_TRANSPARENT.
- Pievienots sysctl arp_missed_max, lai konfigurÄtu kļūmju sliekÅ”Åa skaitu ARP monitora pÄrbaudes laikÄ, pÄc kura tÄ«kla interfeiss tiek novietots atspÄjotÄ stÄvoklÄ«.
- NodroÅ”ina iespÄju tÄ«kla nosaukumvietÄm konfigurÄt atseviŔķas sysctl min_pmtu un mtu_expires vÄrtÄ«bas.
- Pievienota ethtool API iespÄja iestatÄ«t un noteikt buferu lielumu ienÄkoÅ”ajÄm un izejoÅ”ajÄm paketÄm.
- Netfilter ir pievienojis atbalstu tranzÄ«ta pppoe trafika filtrÄÅ”anai tÄ«kla tiltÄ.
- Modulis ksmbd, kas ievieÅ” failu serveri, izmantojot SMB3 protokolu, ir pievienojis atbalstu atslÄgu apmaiÅai, iespÄjojis tÄ«kla portu 445 smbdirect un pievienojis atbalstu parametram āsmb2 max creditā.
- ŠŠ±Š¾ŃŃŠ“Š¾Š²Š°Š½ŠøŠµ
- Drm (Direct Rendering Manager) apakÅ”sistÄmai un i915 draiverim ir pievienots atbalsts ekrÄniem konfidenciÄlas informÄcijas parÄdÄ«Å”anai, piemÄram, daži klÄpjdatori ir aprÄ«koti ar ekrÄniem ar iebÅ«vÄtu konfidenciÄlÄs skatÄ«Å”anÄs režīmu, kas apgrÅ«tina skatÄ«Å”anu no Ärpuses. . PievienotÄs izmaiÅas ļauj pieslÄgt specializÄtus draiverus Å”Ädiem ekrÄniem un kontrolÄt konfidenciÄlus pÄrlÅ«koÅ”anas režīmus, iestatot rekvizÄ«tus parastajos KMS draiveros.
- Amdgpu draiveris ietver atbalstu STB (Smart Trace Buffer) atkļūdoÅ”anas tehnoloÄ£ijai visiem AMD GPU, kas to atbalsta. STB atvieglo kļūmju analÄ«zi un problÄmu avota identificÄÅ”anu, speciÄlÄ buferÄ« glabÄjot informÄciju par veiktajÄm funkcijÄm pirms pÄdÄjÄs kļūmes.
- I915 draiveris pievieno atbalstu Intel Raptor Lake S mikroshÄmÄm un nodroÅ”ina Intel Alder Lake P mikroshÄmu grafiskÄs apakÅ”sistÄmas atbalstu pÄc noklusÄjuma. EkrÄna fona apgaismojumu iespÄjams kontrolÄt, izmantojot VESA DPCD interfeisu.
- Fbcon/fbdev draiveros ir atgriezts atbalsts aparatÅ«ras ritinÄÅ”anas paÄtrinÄjumam konsolÄ.
- TurpinÄta izmaiÅu integrÄcija, lai atbalstÄ«tu Apple M1 mikroshÄmas. Ieviesta iespÄja izmantot simpledrm draiveri sistÄmÄs ar Apple M1 mikroshÄmu, lai izvadÄ«tu, izmantojot programmaparatÅ«ras nodroÅ”inÄto kadru buferi.
- Pievienots atbalsts ARM SoŠ”, ierÄ«cÄm un platÄm Snapdragon 7c, 845 un 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 (izmanto Wi-Fi marÅ”rutÄtÄjos), Broadcom BCM4908 (Netgear RAXE500), Qualcomm SDX65, Samsung Exynos7885, Renesas R-Car S4-8, TI J721s2, TI SPEArXP320i, NMX8 ULP8. , Aspeed AST2500/AST2600, Engicam i.Core STM32MP1, Allwinner Tanix TX6, Facebook Bletchley BMC, Goramo MultiLink, JOZ piekļuves punkts, Y Soft IOTA Crux/Crux+, t6000/t6001 MacBook Pro 14/16.
- Pievienots atbalsts ARM Cortex-M55 un Cortex-M33 procesoriem.
- Pievienots atbalsts ierÄ«cÄm, kuru pamatÄ ir CPU MIPS: Linksys WRT320N v1, Netgear R6300 v1, Netgear WN2500RP v1/v2.
- Pievienots StarFive JH7100 SoC atbalsts, kura pamatÄ ir RISC-V arhitektÅ«ra.
- Pievienots lenovo-yogabook-wmi draiveris, lai kontrolÄtu tastatÅ«ras fona apgaismojumu un piekļūtu dažÄdiem sensoriem Lenovo Yoga Book.
- Pievienots asus_wmi_sensors draiveris, lai piekļūtu sensoriem, kas tiek izmantoti Asus X370, X470, B450, B550 un X399 mÄtesplatÄs, kuru pamatÄ ir AMD Ryzen procesori.
- Pievienots x86-android-tablets draiveris x86 bÄzes planÅ”etdatoriem, kas piegÄdÄti kopÄ ar Android platformu.
- Pievienots atbalsts TrekStor SurfTab duo W1 skÄrienekrÄniem un elektroniskajai pildspalvai Chuwi Hi10 Plus un Pro planÅ”etdatoriem.
- SoC Tegra 20/30 draiveriem ir pievienots jaudas un sprieguma pÄrvaldÄ«bas atbalsts. IespÄjo sÄknÄÅ”anu vecÄkÄm 32 bitu Tegra SoC ierÄ«cÄm, piemÄram, ASUS Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101 un Pad TF300TG.
- Pievienoti draiveri Siemens rūpnieciskajiem datoriem.
- Pievienots atbalsts Sony Tulip Truly NT35521, Vivax TPC-9150, Innolux G070Y2-T02, BOE BF060Y8M-AJ0, JDI R63452, Novatek NT35950, Wanchanglong W552946ABA un Team Source043015 displejiemXNUMX TCMXNUMXX TCMXNUMX.
- Pievienots atbalsts skaÅas sistÄmÄm un kodekiem AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, Intel sistÄmÄm, kurÄs izmanto NAU8825/MAX98390, Mediatek MT8915, nVidia Tegra20 S/PDIF, Qualcomm ALC5682I-VS, Texas Instruments TLV320x3ADC. ProblÄmas ar Tegra194 HD-audio ir atrisinÄtas. Pievienots HDA atbalsts CS35L41 kodekiem. Uzlabots atbalsts skaÅas sistÄmÄm Lenovo un HP klÄpjdatoriem, kÄ arÄ« Gigabyte mÄtesplatÄm.
Avots: opennet.ru