PÄc divu mÄneÅ”u izstrÄdes Linuss Torvalds iepazÄ«stinÄja ar Linux 6.0 kodola izlaiÅ”anu. NozÄ«mÄ«gÄs versijas numura izmaiÅas ir estÄtisku apsvÄrumu dÄļ, un tas ir formÄls solis, lai mazinÄtu diskomfortu, kas rodas, uzkrÄjoties lielam sÄrijas problÄmu skaitam (Linuss jokoja, ka filiÄles numura maiÅas iemesls, visticamÄk, tÄpÄc, ka viÅam trÅ«ka pirksti un pirkstiem, lai saskaitÄ«tu versiju numurus) . Starp visievÄrojamÄkajÄm izmaiÅÄm: atbalsts asinhronai buferizÄtai rakstÄ«Å”anai XFS, ublk bloka draiveris, uzdevumu plÄnotÄja optimizÄcija, kodola pareizas darbÄ«bas pÄrbaudes mehÄnisms, ARIA bloka Å”ifra atbalsts.
Galvenie jauninÄjumi kodolÄ 6.0:
- Diska apakÅ”sistÄma, I/O un failu sistÄmas
- XFS failu sistÄma ir pievienojusi atbalstu asinhronai buferizÄtai rakstÄ«Å”anai, izmantojot io_uring mehÄnismu. VeiktspÄjas testi, kas veikti, izmantojot fio rÄ«kus (1 pavediens, 4kB bloka izmÄrs, 600 sekundes, secÄ«ga rakstÄ«Å”ana), liecina par ievades/izvades operÄciju sekundÄ (IOPS) pieaugumu no 77k lÄ«dz 209k, datu pÄrraides Ätrumu no 314MB/s lÄ«dz 854MB/s, un latentuma samazinÄÅ”anÄs no 9600ns uz 120ns (80 reizes).
- Btrfs failu sistÄma ievieÅ” otro protokola versiju komandai āsÅ«tÄ«tā, kas nodroÅ”ina papildu metadatu atbalstu, nosÅ«tot datus lielÄkos blokos (vairÄk nekÄ 64 K) un pÄrraidot apjomus saspiestÄ veidÄ. TieÅ”Äs lasÄ«Å”anas operÄciju veiktspÄja ir ievÄrojami palielinÄta (lÄ«dz 3 reizÄm), pateicoties vienlaicÄ«gai nolasÄ«Å”anai lÄ«dz 256 sektoriem. SamazinÄts strÄ«ds par bloÄ·ÄÅ”anu un paÄtrinÄta metadatu pÄrbaude, samazinot rezervÄto metadatu skaitu atliktajiem elementiem.
- Ext4 failu sistÄmai ir pievienotas jaunas ioctl darbÄ«bas EXT4_IOC_GETFSUUID un EXT4_IC_SETFSUUID, lai izgÅ«tu vai iestatÄ«tu superblokÄ saglabÄto UUID.
- F2FS failu sistÄma piedÄvÄ zema atmiÅas patÄriÅa režīmu, kas optimizÄ darbÄ«bu ierÄ«cÄs ar nelielu operatÄ«vÄs atmiÅas apjomu un ļauj samazinÄt atmiÅas patÄriÅu uz samazinÄtas veiktspÄjas rÄÄ·ina.
- Pievienots atbalsts NVMe diska autentifikÄcijai.
- NFSv4 serveris ievieÅ” aktÄ«vo klientu skaita ierobežojumu, kas ir iestatÄ«ts kÄ 1024 derÄ«gi klienti katram sistÄmas RAM gigabaitam.
- CIFS klienta ievieÅ”ana ir uzlabojusi veiktspÄju daudzkanÄlu pÄrraides režīmÄ.
- Fanotify FS notikumu izsekoÅ”anas apakÅ”sistÄmai ir pievienots jauns karogs FAN_MARK_IGNORE, lai ignorÄtu konkrÄtus notikumus.
- Overlayfs FS, kad tas ir uzstÄdÄ«ts virs FS ar lietotÄja ID kartÄÅ”anu, tiek nodroÅ”inÄts pareizs atbalsts ar POSIX saderÄ«giem piekļuves kontroles sarakstiem.
- Pievienots ublk bloka draiveris, kas pÄrvieto Ä«paÅ”u loÄ£iku uz fona procesa pusi lietotÄja telpÄ un izmanto apakÅ”sistÄmu io_uring.
- AtmiÅas un sistÄmas pakalpojumi
- DAMON (Data Access MONitor) apakÅ”sistÄmai ir pievienotas jaunas funkcijas, kas ļauj ne tikai uzraudzÄ«t procesa piekļuvi RAM no lietotÄja vietas, bet arÄ« ietekmÄt atmiÅas pÄrvaldÄ«bu. Jo Ä«paÅ”i ir ierosinÄts jauns modulis āLRU_SORTā, kas nodroÅ”ina LRU (vismazÄk izmantoto) sarakstu pÄrgrupÄÅ”anu, lai palielinÄtu noteiktu atmiÅas lapu prioritÄti.
- IespÄja izveidot jaunus atmiÅas reÄ£ionus ir ieviesta, izmantojot CXL (Compute Express Link) kopnes iespÄjas, ko izmanto, lai organizÄtu Ätrgaitas mijiedarbÄ«bu starp CPU un atmiÅas ierÄ«cÄm. CXL ļauj savienot jaunus atmiÅas reÄ£ionus, ko nodroÅ”ina ÄrÄjÄs atmiÅas ierÄ«ces, un izmantot tos kÄ papildu fiziskÄs adreÅ”u telpas resursus, lai paplaÅ”inÄtu sistÄmas brÄ«vpiekļuves atmiÅu (DDR) vai pastÄvÄ«go atmiÅu (PMEM).
- AtrisinÄtas veiktspÄjas problÄmas ar AMD Zen procesoriem, ko izraisÄ«ja kods, kas tika pievienots pirms 20 gadiem, lai novÄrstu aparatÅ«ras problÄmu dažÄs mikroshÄmojumos (tika pievienota papildu WAIT instrukcija, lai palÄninÄtu procesoru, lai mikroshÄmojumam bÅ«tu laiks pÄriet dÄ«kstÄves stÄvoklÄ«). IzmaiÅu rezultÄtÄ tika samazinÄta veiktspÄja darba slodzÄs, kas bieži mainÄs starp dÄ«kstÄves un aizÅemtÄ«bas stÄvokļiem. PiemÄram, pÄc risinÄjuma atspÄjoÅ”anas vidÄjie bench testa rezultÄti palielinÄjÄs no 32191 MB/s lÄ«dz 33805 MB/s.
- Kods ar heiristiku ir noÅemts no uzdevumu plÄnotÄja, nodroÅ”inot procesu migrÄciju uz vismazÄk noslogotajiem CPU, Åemot vÄrÄ prognozÄto enerÄ£ijas patÄriÅa pieaugumu. IzstrÄdÄtÄji secinÄja, ka heiristika nebija pietiekami noderÄ«ga un ka to ir vieglÄk noÅemt un migrÄt procesus bez papildu novÄrtÄjuma ikreiz, kad Å”Äda migrÄcija varÄtu izraisÄ«t mazÄku enerÄ£ijas patÄriÅu (piemÄram, ja mÄrÄ·a centrÄlais procesors atrodas zemÄkÄ jaudas lÄ«menÄ«). Heiristikas atspÄjoÅ”ana izraisÄ«ja enerÄ£ijas patÄriÅa samazinÄÅ”anos, veicot intensÄ«vus uzdevumus, piemÄram, video dekodÄÅ”anas testÄ enerÄ£ijas patÄriÅÅ” samazinÄjÄs par 5.6%.
- Uzdevumu sadalÄ«jums pa CPU kodoliem lielÄs sistÄmÄs ir optimizÄts, kas ir uzlabojis veiktspÄju noteikta veida darba slodzei.
- io_uring asinhronÄ I/O saskarne piedÄvÄ jaunu karogu IORING_RECV_MULTISHOT, kas ļauj izmantot vairÄku kadru režīmu ar sistÄmas izsaukumu recv(), lai vienlaikus veiktu vairÄkas lasÄ«Å”anas darbÄ«bas no vienas tÄ«kla ligzdas. io_uring atbalsta arÄ« tÄ«kla pÄrsÅ«tÄ«Å”anu bez starpposma buferizÄcijas (nulles kopija).
- Ieviesta iespÄja pÄrslÄgt uprobe pievienotÄs BPF programmas miega stÄvoklÄ«. BPF arÄ« pievieno jaunu iteratoru ksym darbam ar kodola simbolu tabulÄm.
- NovecojuÅ”ais āefivarsā interfeiss sistÄmÄ sysfs, kas paredzÄts piekļuvei UEFI sÄknÄÅ”anas mainÄ«gajiem, ir noÅemts (efivarfs virtuÄlÄ FS tagad tiek plaÅ”i izmantota, lai piekļūtu EFI datiem).
- Perf utilÄ«tai ir jauni ziÅojumi, lai analizÄtu bloÄ·ÄÅ”anas konfliktus un laiku, ko procesors pavada kodola komponentu izpildei.
- IestatÄ«jums CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 ir noÅemts, kas ļÄva izveidot kodolu optimizÄcijas režīmÄ "-O3". JÄatzÄ«mÄ, ka eksperimentus ar optimizÄcijas režīmiem var veikt, montÄžas laikÄ nododot karodziÅus (āmake KCFLAGS=-O3ā), un, lai pievienotu iestatÄ«jumu Kconfig, ir nepiecieÅ”ama atkÄrtota veiktspÄjas profilÄÅ”ana, parÄdot, ka cilpas atritinÄÅ”ana, izmantojot ā-O3ā režīmu, nodroÅ”ina ieguvums salÄ«dzinÄjumÄ ar ā-O2ā optimizÄcijas lÄ«meni.
- Ir pievienots atkļūdoÅ”anas interfeiss, lai iegÅ«tu informÄciju par atseviŔķu āatmiÅas samazinÄtÄjuā darbÄ«bu (apdarinÄtÄji tiek izsaukti, ja nepietiek atmiÅas un kodola datu struktÅ«ru pakotnes, lai samazinÄtu to atmiÅas patÄriÅu).
- OpenRISC un LoongArch arhitektÅ«rÄm ir ieviests atbalsts PCI kopnei.
- RISC-V arhitektÅ«rai paplaÅ”inÄjums āZicbomā ir ieviests, lai pÄrvaldÄ«tu ierÄ«ces ar DMA, kas nav saskaÅota ar keÅ”atmiÅu.
- VirtualizÄcija un droŔība
- Ir pievienots RV (Runtime Verification) verifikÄcijas mehÄnisms, lai pÄrbaudÄ«tu pareizu darbÄ«bu ļoti uzticamÄs sistÄmÄs, kas garantÄ kļūdu neesamÄ«bu. VerifikÄcija tiek veikta izpildes laikÄ, pievienojot apdarinÄtÄjus izsekoÅ”anas punktiem, kas pÄrbauda faktisko izpildes gaitu, salÄ«dzinot ar iepriekÅ” noteiktu iekÄrtas atsauces deterministisko modeli, kas definÄ paredzamo sistÄmas darbÄ«bu. VerifikÄcija ar modeli izpildlaikÄ ir pozicionÄta kÄ vieglÄka un vieglÄk ievieÅ”ama metode, lai apstiprinÄtu izpildes pareizÄ«bu kritiskajÄs sistÄmÄs, papildinot klasiskÄs uzticamÄ«bas pÄrbaudes metodes. Starp RV priekÅ”rocÄ«bÄm ir iespÄja nodroÅ”inÄt stingru verifikÄciju bez atseviŔķas visas sistÄmas ievieÅ”anas modelÄÅ”anas valodÄ, kÄ arÄ« elastÄ«ga reakcija uz neparedzÄtiem notikumiem.
- IntegrÄti kodola komponenti anklÄvu pÄrvaldÄ«bai, pamatojoties uz Intel SGX2 (Software Guard eXtensions) tehnoloÄ£iju, kas ļauj lietojumprogrammÄm izpildÄ«t kodu izolÄtos Å”ifrÄtos atmiÅas apgabalos, kuriem pÄrÄjai sistÄmai ir ierobežota piekļuve. Intel SGX2 tehnoloÄ£ija tiek atbalstÄ«ta Intel Ice Lake un Gemini Lake mikroshÄmÄs, un tÄ atŔķiras no Intel SGX1 ar papildu instrukcijÄm anklÄvu dinamiskai atmiÅas pÄrvaldÄ«bai.
- x86 arhitektÅ«rai ir ieviesta iespÄja pÄrsÅ«tÄ«t pseidogadÄ«juma skaitļu Ä£eneratora sÄklu, izmantojot sÄknÄÅ”anas ielÄdes iestatÄ«jumus.
- SafeSetID LSM modulim tagad ir iespÄja pÄrvaldÄ«t izmaiÅas, kas veiktas, izmantojot setgroups() izsaukumu. SafeSetID ļauj sistÄmas pakalpojumiem droÅ”i pÄrvaldÄ«t lietotÄjus, nepalielinot privilÄÄ£ijas (CAP_SETUID) un neiegÅ«stot root tiesÄ«bas.
- Pievienots atbalsts ARIA bloka Ŕifram.
- Uz BPF balstÄ«tais droŔības pÄrvaldÄ«bas modulis nodroÅ”ina iespÄju pievienot apstrÄdÄtÄjus atseviŔķiem procesiem un procesu grupÄm (cgroups).
- Ir pievienots mehÄnisms ar sargsuÅa ievieÅ”anu, lai noteiktu viesu sistÄmu darbÄ«bas traucÄjumus, pamatojoties uz vCPU darbÄ«bas uzraudzÄ«bu.
- TÄ«kla apakÅ”sistÄma
- BPF apakÅ”sistÄmai ir pievienoti apstrÄdÄtÄji SYN sÄ«kfailu Ä£enerÄÅ”anai un pÄrbaudei. Pievienots arÄ« funkciju kopums (kfunc), lai piekļūtu un mainÄ«tu savienojumu stÄvokli.
- Bezvadu stekam ir pievienots atbalsts MLO (Multi-Link Operation) mehÄnismam, kas definÄts WiFi 7 specifikÄcijÄ un ļauj ierÄ«cÄm vienlaicÄ«gi saÅemt un sÅ«tÄ«t datus, izmantojot dažÄdas frekvenÄu joslas un kanÄlus, piemÄram, lai vienlaikus izveidotu vairÄkus sakaru kanÄlus starp piekļuves punkts klienta ierÄ«cei.
- Ir uzlabota kodolÄ iebÅ«vÄtÄ TLS protokola veiktspÄja.
- Pievienota kodola komandrindas opcija "hostname=", lai ļautu resursdatora nosaukumu iestatÄ«t sÄknÄÅ”anas procesa sÄkumÄ pirms lietotÄja vietas komponentu palaiÅ”anas.
- ŠŠ±Š¾ŃŃŠ“Š¾Š²Š°Š½ŠøŠµ
- I915 (Intel) draiveris nodroÅ”ina Intel Arc (DG2/Alchemist) A750 un A770 diskrÄto video karÅ”u atbalstu. Ir ierosinÄta sÄkotnÄjÄ Intel Ponte Vecchio (Xe-HPC) un Meteor Lake GPU atbalsta ievieÅ”ana. TurpinÄs darbs pie Intel Raptor Lake platformas atbalsta.
- Amdgpu draiveris turpina nodroÅ”inÄt atbalstu AMD RDNA3 (RX 7000) un CDNA (Instinct) platformÄm.
- Nouveau draiveris ir pÄrstrÄdÄjis atbalsta kodu NVIDIA nv50 GPU displeja dzinÄjiem.
- Pievienots jauns logicvc DRM draiveris LogiCVC ekrÄniem.
- V3d draiveris (Broadcom Video Core GPU) atbalsta Raspberry Pi 4 plates.
- Msm draiverim ir pievienots Qualcomm Adreno 619 GPU atbalsts.
- Panfrost draiverim ir pievienots atbalsts ARM Mali Valhall GPU.
- Pievienots sÄkotnÄjais atbalsts Qualcomm Snapdragon 8cx Gen3 procesoriem, kas tiek izmantoti Lenovo ThinkPad X13s klÄpjdatoros.
- Pievienoti skaÅas draiveri AMD Raphael (Ryzen 7000), AMD Jadeite, Intel Meteor Lake un Mediatek MT8186 platformÄm.
- Pievienots atbalsts Intel Habana Gaudi 2 maŔīnmÄcÄ«Å”anÄs paÄtrinÄtÄjiem.
- Pievienots atbalsts ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530, Google Chameleon v3.
TajÄ paÅ”Ä laikÄ LatÄ«Åamerikas BrÄ«vÄs programmatÅ«ras fonds izveidoja pilnÄ«gi bezmaksas kodola 6.0 versiju - Linux-libre 6.0-gnu, kas ir atbrÄ«vota no programmaparatÅ«ras elementiem un draiveriem, kas satur patentÄtus komponentus vai koda sadaļas, kuru darbÄ«bas jomu ierobežo ražotÄjs. Jaunais laidiens atspÄjo blobu izmantoÅ”anu CS35L41 HD audio draiverÄ« un UCSI draiverÄ« STM32G0 mikrokontrolleriem. DTS faili Qualcomm un MediaTek mikroshÄmÄm ir iztÄ«rÄ«ti. Blobu atspÄjoÅ”ana MediaTek MT76 draiverÄ« ir pÄrveidota. AtjauninÄts lÄse tÄ«rÄ«Å”anas kods AMDGPU, Adreno, Tegra VIC, Netronome NFP un Habanalabs Gaudi2 draiveros un apakÅ”sistÄmÄs. Tika pÄrtraukta VXGE draivera tÄ«rÄ«Å”ana, kas tika noÅemts no kodola.
Avots: opennet.ru