Linux 5.15 kjarnaútgáfa

Eftir tveggja mánaða þróun kynnti Linus Torvalds útgáfu Linux kjarna 5.15. Athyglisverðar breytingar eru meðal annars: nýr NTFS rekla með skrifstuðningi, ksmbd eining með SMB miðlara útfærslu, DAMON undirkerfi fyrir minni aðgangseftirlit, rauntíma læsingar frumefni, fs-verity stuðning í Btrfs, process_mrelease system call for starvation response systems minni, fjarvottunareining dm-ima.

Nýja útgáfan inniheldur 13499 lagfæringar frá 1888 forriturum, plástrastærðin er 42 MB (breytingarnar höfðu áhrif á 10895 skrár, 632522 línum af kóða var bætt við, 299966 línum var eytt). Um 45% allra breytinga sem kynntar eru í 5.15 tengjast tækjum, um það bil 14% breytinga tengjast uppfærslukóða sem er sérstakur fyrir vélbúnaðararkitektúr, 14% tengjast netstafla, 6% tengjast skráarkerfum og 3% tengjast innri kjarna undirkerfum.

Helstu nýjungar:

  • Diska undirkerfi, I/O og skráarkerfi
    • Kjarninn hefur tekið upp nýja útfærslu á NTFS skráarkerfinu, opnað af Paragon Software. Nýi bílstjórinn getur virkað í skrifham og styður alla eiginleika núverandi útgáfu af NTFS 3.1, þar á meðal aukna skráareiginleika, aðgangslista (ACL), gagnaþjöppunarham, skilvirka vinnu með tómt rými í skrám (raflaus) og endurspilun breytingar frá annálinn til að endurheimta heilleika eftir bilanir.
    • Btrfs skráarkerfið styður fs-verity vélbúnaðinn, sem er notaður til að stjórna á gagnsæjan hátt heilleika og áreiðanleika einstakra skráa með því að nota dulritunar kjötkássa eða lykla sem tengjast skránum, geymdar á lýsigagnasvæðinu. Áður var fs-verity aðeins fáanlegt fyrir Ext4 og F2fs skráarkerfi.

      Btrfs bætir einnig við stuðningi við kortlagningu notendaauðkenna fyrir uppsett skráarkerfi (áður stutt fyrir FAT, ext4 og XFS skráarkerfi). Þessi eiginleiki gerir þér kleift að bera saman skrár tiltekins notanda á uppsettri erlendri skipting við annan notanda á núverandi kerfi.

      Aðrar breytingar á Btrfs fela í sér: hraðari viðbót lykla við skráarvísitöluna til að bæta afköst skráargerðar; hæfileikinn til að vinna raid0 með einu tæki og raid10 með tveimur (til dæmis meðan á því stendur að endurstilla fylkið); valmöguleikinn „rescue=ibadroots“ til að hunsa rangt umfangstré; hröðun „senda“ aðgerðarinnar; draga úr læsingarátökum við endurnefnaaðgerðir; getu til að nota 4K geira á kerfum með 64K minni síðustærð.

    • Í XFS hefur hæfni til að nota dagsetningar eftir 2038 í skráarkerfinu verið stöðug. Innleitt kerfi fyrir seinkað óvirkja inode og stuðning við seinkaða uppsetningu og fjarlægja skráareiginleika. Til að útrýma vandamálum hefur hæfileikinn til að slökkva á diskakvóta fyrir þegar uppsettar skiptingar verið fjarlægður (þú getur gert kvóta óvirka af krafti, en útreikningurinn sem tengist þeim mun halda áfram, svo endurtengja þarf til að gera þá algjörlega óvirka).
    • Í EXT4 hefur verið unnið að því að auka árangur við að skrifa delalloc biðminni og vinna úr munaðarlausum skrám sem halda áfram að vera til vegna þess að þær eru áfram opnar, en eru ekki tengdar möppu. Vinnsla á brottkastsaðgerðum hefur verið færð út úr jbd2 kthread þráðnum til að forðast að hindra aðgerðir með lýsigögnum.
    • F2FS bætti "discard_unit=block|segment|section" valmöguleikanum til að binda brottkastsaðgerðir (merkja losaðar blokkir sem mega ekki lengur vera líkamlega geymdar) við röðunina miðað við blokk, geira, hluta eða hluta. Bætt við stuðningi við að fylgjast með breytingum á I/O leynd.
    • EROFS (Extendable Read-Only File System) skráarkerfið bætir við beinum I/O stuðningi fyrir skrár vistaðar án þjöppunar, sem og fiemap stuðning.
    • OverlayFS útfærir rétta meðhöndlun á „óbreytanlegum“, „aðeins viðbæta“, „sync“ og „noatime“ fjallfánum.
    • NFS hefur bætt meðhöndlun á aðstæðum þar sem NFS þjónninn hættir að svara beiðnum. Bætti við möguleikanum á að tengja frá netþjóni sem er þegar í notkun, en aðgengilegur í gegnum annað netfang.
    • Undirbúningur er hafinn fyrir endurskrifun FSCACHE undirkerfisins.
    • Bætti við stuðningi við EFI skipting með óstöðluðum staðsetningu GPT borðum.
    • Fanotify vélbúnaðurinn útfærir nýtt fána, FAN_REPORT_PIDFD, sem veldur því að pidfd er innifalið í lýsigögnunum sem skilað er. Pidfd hjálpar til við að meðhöndla PID endurnotkunaraðstæður til að bera kennsl á ferla sem fá aðgang að vöktuðum skrám á nákvæmari hátt (pidfd er tengt tilteknu ferli og breytist ekki, á meðan PID getur tengst öðru ferli eftir að núverandi ferli sem tengist því PID lýkur).
    • Bætti við möguleikanum á að bæta við tengipunktum við núverandi sameiginlega hópa við move_mount() kerfiskallið, sem leysir vandamál við að vista og endurheimta ferlistöðu í CRIU þegar það eru mörg festingarrými sem deilt er í einangruðum ílátum.
    • Bætt við vörn gegn duldum keppnisskilyrðum sem gætu hugsanlega valdið skemmdum á skrá þegar lesið er á skyndiminni meðan unnið er úr tómum í skrá.
    • Stuðningur við lögboðna (skyldu) skráalæsingu, innleidd með því að loka fyrir kerfissímtöl sem leiða til skráabreytingar, hefur verið hætt. Vegna mögulegra keppnisaðstæðna voru þessir læsingar taldir óáreiðanlegir og voru aflagðir fyrir mörgum árum.
    • LightNVM undirkerfið hefur verið fjarlægt, sem leyfði beinan aðgang að SSD drifinu, framhjá hermilaginu. LightNVM missti merkingu sína eftir tilkomu NVMe staðla sem kveða á um svæðisskipulag (ZNS, Zoned Namespace).
  • Minni og kerfisþjónusta
    • DAMON (Data Access MONitor) undirkerfið hefur verið innleitt, sem gerir þér kleift að fylgjast með virkni sem tengist aðgangi að gögnum í vinnsluminni í tengslum við valið ferli sem keyrir í notendarými. Undirkerfið gerir þér kleift að greina hvaða minnissvæði ferlið fékk aðgang að meðan á starfseminni stóð og hvaða minnissvæði voru ósótt. DAMON er með lágt CPU-álag, litla minnisnotkun, mikla nákvæmni og fyrirsjáanlegt stöðugt kostnaður, óháð stærð. Undirkerfið er hægt að nota bæði af kjarnanum til að hámarka minnisstjórnun og af tólum í notendarýminu til að skilja hvað nákvæmlega ferli er að gera og hámarka minnisnotkun, til dæmis til að losa umframminni fyrir kerfið.
    • Process_mrelease kerfiskallið hefur verið útfært til að flýta fyrir ferlinu við að losa minni um ferli sem lýkur framkvæmd þess. Undir venjulegum kringumstæðum er losun tilfanga og lokun ferlis ekki tafarlaus og getur tafist af ýmsum ástæðum, sem truflar snemmbúnar svörunarkerfi notendarýmis eins og oomd (útvegað af systemd) og lmkd (notað af Android). Með því að kalla process_mrelease, geta slík kerfi fyrirsjáanlega hrundið af stað endurheimt minni frá þvinguðum ferlum.
    • Frá PREEMPT_RT kjarnagreininni, sem þróar stuðning fyrir rauntímaaðgerðir, hafa afbrigði af frumstæðum til að skipuleggja læsingar mutex, ww_mutex, rw_semaphore, spinlock og rwlock, sem byggjast á RT-Mutex undirkerfinu, verið fluttar. Breytingum hefur verið bætt við SLUB plötuúthlutun til að bæta virkni í PREEMPT_RT ham og draga úr áhrifum á truflanir.
    • Stuðningi við SCHED_IDLE verkefnaáætlunareigindinni hefur verið bætt við cgroup, sem gerir þér kleift að veita þessa eigind fyrir alla ferla hóps sem er í tilteknum cgroup. Þeir. þessi ferli munu aðeins keyra þegar engin önnur verkefni bíða eftir að vera framkvæmd á kerfinu. Ólíkt því að setja SCHED_IDLE eigindina á hvert ferli fyrir sig, þegar SCHED_IDLE er bundið við cgroup, er hlutfallslegt vægi verkefna innan hópsins tekið með í reikninginn þegar verkefni er valið til að framkvæma.
    • Fyrirkomulagið til að gera grein fyrir minnisnotkun í cgroup hefur verið stækkað með getu til að fylgjast með viðbótarkjarnagagnaskipulagi, þar með talið þeim sem eru búnar til fyrir skoðanakönnun, merkjavinnslu og nafnrými.
    • Bætt við stuðningi við ósamhverfa tímasetningu verkbindingar við örgjörvakjarna á arkitektúr þar sem sumir örgjörvar leyfa framkvæmd 32 bita verkefna og sumir starfa aðeins í 64 bita ham (til dæmis ARM). Nýja stillingin gerir þér kleift að taka aðeins tillit til örgjörva sem styðja 32-bita verkefni þegar þú tímasetur 32-bita verkefni.
    • io_uring ósamstillta I/O viðmótið styður nú að opna skrár beint í föstum skráaskráartöflunni, án þess að nota skráarlýsingu, sem gerir það mögulegt að flýta verulega fyrir sumum tegundum aðgerða, en gengur gegn hefðbundnu Unix ferli að nota skráarlýsingar til að opna skrár.

      io_uring fyrir BIO (Block I/O Layer) undirkerfið innleiðir nýtt endurvinnslukerfi („BIO recycling“), sem dregur úr kostnaði við stjórnun innra minnis og eykur fjölda unnum I/O aðgerðum á sekúndu um um það bil 10% . io_uring bætir einnig við stuðningi við mkdirat(), symlinkat() og linkat() kerfiskallana.

    • Fyrir BPF forrit hefur hæfileikinn til að biðja um og vinna úr tímamælisatburði verið innleiddur. Iterator fyrir UNIX sockets hefur verið bætt við og möguleikinn til að fá og stilla socket valkosti fyrir setsockopt hefur verið innleiddur. BTF dumper styður nú vélrituð gögn.
    • Á NUMA kerfum með mismunandi gerðir af minni sem eru mismunandi að afköstum, þegar laust pláss er uppurið, eru rýmdar minnissíður fluttar úr kraftmiklu minni (DRAM) í hægara varanlegt minni (Persistent Memory) í stað þess að eyða þessum síðum. Próf hafa sýnt að slíkar aðferðir bæta yfirleitt frammistöðu á slíkum kerfum. NUMA veitir einnig möguleika á að úthluta minnissíðum fyrir ferli úr völdum hópi NUMA hnúta.
    • Fyrir ARC arkitektúrinn hefur stuðningur við þriggja og fjögurra stiga minnissíðutöflur verið innleiddar, sem mun gera enn kleift að styðja við 64 bita ARC örgjörva.
    • Fyrir s390 arkitektúrinn hefur hæfileikinn til að nota KFENCE vélbúnaðinn til að greina villur þegar unnið er með minni verið innleiddur og stuðningur við KCSAN kappástandsskynjarann ​​hefur verið bætt við.
    • Bætti við stuðningi við að skrá lista yfir úttak skilaboða í gegnum printk(), sem gerir þér kleift að sækja öll slík skilaboð í einu og fylgjast með breytingum á notendarými.
    • mmap() hefur fjarlægt stuðning fyrir VM_DENYWRITE valmöguleikann og kjarnakóði hefur verið fjarlægður úr notkun MAP_DENYWRITE ham, sem hefur fækkað aðstæðum sem leiða til þess að skrif á skrá með ETXTBSY villunni er lokað.
    • Ný tegund athugana, „Atburðarrannsóknir“, hefur verið bætt við rakningarundirkerfið, sem hægt er að tengja við núverandi rakningaratburði og skilgreina þitt eigið úttakssnið.
    • Þegar kjarnann er byggður með því að nota Clang þýðandann er nú sjálfgefna samsetningarforritið úr LLVM verkefninu notað.
    • Sem hluti af verkefni til að losa kjarnann við kóða sem leiðir til þess að viðvaranir eru gefnar út af þýðandanum, var gerð tilraun með „-Werror“ stillinguna virkan sjálfgefið, þar sem viðvaranir þýðanda eru unnar sem villur. Í undirbúningi fyrir útgáfu 5.15, byrjaði Linus að samþykkja aðeins breytingar sem leiddu ekki til viðvarana þegar kjarnann var byggður og virkjaði byggingu með "-Werror", en samþykkti síðan að slík ákvörðun væri ótímabær og seinkaði að virkja "-Werror" sjálfgefið . Innlimun „-Werror“ fánans við samsetningu er stjórnað með því að nota WERROR færibreytuna, sem er sjálfgefið stillt á COMPILE_TEST, þ.e. Í bili er það aðeins virkt fyrir prufusmíðar.
  • Sýndarvæðing og öryggi
    • Nýjum dm-ima meðhöndlun hefur verið bætt við Device Mapper (DM) með innleiðingu á fjarvottunarkerfi sem byggir á IMA (Integrity Measurement Architecture) undirkerfinu, sem gerir ytri þjónustu kleift að sannreyna stöðu kjarna undirkerfa til að tryggja áreiðanleika þeirra . Í reynd gerir dm-ima þér kleift að búa til geymslur með Device Mapper sem eru tengdar utanaðkomandi skýjakerfum, þar sem réttmæti DM-markmiðsuppstillingarinnar sem var hleypt af stokkunum er athugað með IMA.
    • prctl() útfærir nýjan valmöguleika PR_SPEC_L1D_FLUSH, sem þegar hann er virkjaður, veldur því að kjarninn skolar innihald fyrsta stigs (L1D) skyndiminni í hvert skipti sem samhengisrofi á sér stað. Þessi háttur gerir, sértækt fyrir mikilvægustu ferlana, kleift að innleiða viðbótarvörn gegn notkun hliðarrásaárása sem gerðar eru til að ákvarða gögn sem hafa komið sér fyrir í skyndiminni vegna veikleika sem stafar af íhugandi framkvæmd leiðbeininga í örgjörvanum. Kostnaður við að virkja PR_SPEC_L1D_FLUSH (ekki virkt sjálfgefið) er veruleg refsing fyrir frammistöðu.
    • Það er hægt að byggja kjarnann með því að bæta við „-fzero-call-used-regs=used-gpr“ fánanum í GCC, sem tryggir að allar skrár séu núllstilltar áður en stjórn er skilað frá aðgerðinni. Þessi valkostur gerir þér kleift að verjast upplýsingaleka frá aðgerðum og fækka um 20% fjölda blokka sem henta til að byggja ROP (Return-Oriented Programming) græjur í hetjudáðum.
    • Möguleikinn á að smíða kjarna fyrir ARM64 arkitektúrinn í formi viðskiptavina fyrir Hyper-V hypervisor hefur verið innleiddur.
    • Lagt er til nýrri þróunarramma „VDUSE“ sem gerir kleift að innleiða sýndarblokkartæki í notendarými og nota Virtio sem flutning fyrir aðgang frá gestakerfum.
    • Bætt við Virtio reklum fyrir I2C rútuna, sem gerir það mögulegt að líkja eftir I2C stýringar í paravirtualization ham með því að nota aðskilda bakenda.
    • Bætt við Virtio reklum gpio-virtio til að leyfa gestum að fá aðgang að GPIO línum sem hýsingarkerfið býður upp á.
    • Bætt við möguleikanum á að takmarka aðgang að minnissíðum fyrir tækjastjóra með DMA stuðningi á kerfum án I/O MMU (minnisstjórnunareining).
    • KVM hypervisor hefur getu til að birta tölfræði í formi línulegra og lógaritmískra súlurita.
  • Net undirkerfi
    • Ksmbd einingunni hefur verið bætt við kjarnann með útfærslu á skráarþjóni sem notar SMB3 samskiptareglur. Einingin bætir við útfærslu SMB biðlara sem áður var tiltæk í kjarnanum og, ólíkt SMB þjóninum sem keyrir í notendarými, er hún skilvirkari hvað varðar afköst, minnisnotkun og samþættingu við háþróaða kjarnamöguleika. Ksmbd er kynnt sem afkastamikil, innbyggð-tilbúin Samba viðbót sem samþættist Samba verkfærum og bókasöfnum eftir þörfum. Geta ksmbd felur í sér bættan stuðning við dreifða skyndiminnistækni (SMB leigusamninga) á staðbundnum kerfum, sem getur dregið verulega úr umferð. Í framtíðinni ætla þeir að bæta við stuðningi við RDMA („smbdirect“) og samskiptareglur sem tengjast því að auka áreiðanleika dulkóðunar og sannprófunar með stafrænum undirskriftum.
    • CIFS viðskiptavinurinn styður ekki lengur NTLM og veikari DES-undirstaða auðkenningar reiknirit sem notuð eru í SMB1 samskiptareglunum.
    • Fjölvarpsstuðningur er innleiddur í útfærslu netbrúa fyrir vlans.
    • Tengingarstjórinn, notaður til að safna netviðmótum, hefur bætt við stuðningi við XDP (eXpress Data Path) undirkerfið, sem gerir þér kleift að vinna með netpakka á stigi áður en þeir eru unnar af Linux kjarna netstaflanum.
    • Þráðlausi mac80211 staflan styður 6GHZ STA (Special Temporary Authorization) í LPI, SP og VLP stillingum, sem og getu til að stilla einstaka TWT (Target Wake Time) í aðgangsstaðaham.
    • Bætt við stuðningi við MCTP (Management Component Transport Protocol), notað fyrir samskipti milli stjórnenda og tengdra tækja (hýsingargjörva, jaðartæki osfrv.).
    • Samþætting inn í kjarna MPTCP (MultiPath TCP), framlenging á TCP samskiptareglum til að skipuleggja rekstur TCP tengingar með afhendingu pakka samtímis eftir nokkrum leiðum í gegnum mismunandi netviðmót sem tengjast mismunandi IP tölum. Nýja útgáfan bætir við stuðningi við heimilisföng í fullmesh ham.
    • Meðhöndlarar fyrir netstrauma sem eru hjúpaðir í SRv6 (Segment Routing IPv6) samskiptareglur hafa verið bætt við netsíuna.
    • Bætt við stuðningi við sockmap fyrir Unix strauminnstungur.
  • Оборудование
    • Amdgpu bílstjórinn styður Cyan Skillfish APU (útbúin Navi 1x GPU). Yellow Carp APU styður nú myndkóða. Bættur Aldebaran GPU stuðningur. Bætt við nýjum kortaauðkennum byggt á GPU Navi 24 „Beige Goby“ og RDNA2. Lagt er til bætta útfærslu sýndarskjáa (VKMS). Stuðningur við að fylgjast með hitastigi AMD Zen 3 flísar hefur verið innleiddur.
    • Amdkfd ökumaðurinn (fyrir stakar GPU, eins og Polaris) útfærir sameiginlegan sýndarminnisstjóra (SVM, sameiginlegt sýndarminni) byggt á HMM (Heterogeneous memory management) undirkerfinu, sem gerir kleift að nota tæki með eigin minnisstjórnunareiningum (MMU) , minnisstjórnunareining), sem hefur aðgang að aðalminni. Sérstaklega, með því að nota HMM, geturðu skipulagt sameiginlegt vistfangarými milli GPU og CPU, þar sem GPU getur fengið aðgang að aðalminni ferlisins.
    • i915 bílstjórinn fyrir Intel skjákort stækkar notkun TTM myndminnisstjórans og felur í sér möguleika á að stjórna orkunotkun byggt á GuC (Graphics micro Controller). Undirbúningur er hafinn fyrir innleiðingu stuðnings við Intel ARC Alchemist skjákortið og Intel Xe-HP GPU.
    • Nouveau bílstjórinn útfærir baklýsingu fyrir eDP spjöld með því að nota DPCD (DisplayPort Configuration Data).
    • Bætti við stuðningi fyrir Adreno 7c Gen 3 og Adreno 680 GPU við msm bílstjórann.
    • IOMMU bílstjórinn er útfærður fyrir Apple M1 flísinn.
    • Bætt við hljóðrekla fyrir kerfi byggð á AMD Van Gogh APU.
    • Realtek R8188EU reklanum hefur verið bætt við sviðsetningargreinina, sem leysti af hólmi gömlu útgáfuna af reklum (rtl8188eu) fyrir Realtek RTL8188EU 802.11 b/g/n þráðlausa flís.
    • Ocp_pt bílstjórinn er innifalinn fyrir PCIe borðið þróað af Meta (Facebook) með útfærslu á litlu atómklukku og GNSS móttakara, sem hægt er að nota til að skipuleggja rekstur aðskilda nákvæma tímasamstillingarþjóna.
    • Bætti við stuðningi fyrir Sony Xperia 10II (Snapdragon 665), Xiaomi Redmi 2 (Snapdragon MSM8916), Samsung Galaxy S3 (Snapdragon MSM8226), Samsung Gavini/Codina/Kyle snjallsíma.
    • Bætti við stuðningi fyrir ARM SoС og NVIDIA Jetson TX2 NX þróunarbúnað, Sancloud BBE Lite, PicoITX, DRC02, SolidRun SolidSense, SKOV i.MX6, Nitrogen8, Traverse Ten64, GW7902, Microchip SAMA7, ualcomm Snapdragon SDM636, HSM8150, HSM3C, Snapdragon SDM2. borð -3G/M2e-913G, Marvell CN2600x, ASpeed ​​​​AST4 (Facebook Cloudripper, Elbert og Fuji netþjónaborð), 418KOpen STiH2264-bXNUMX.
    • Bætt við stuðningi fyrir Gopher 2b LCD spjöld, EDT ETM0350G0DH6/ETMV570G2DHU, LOGIC Technologies LTTD800480070-L6WH-RT, Multi-Innotechnology MI1010AIT-1CP1, Innolux EJ030NA 3.0, Innolux EJ9341NA 3300, Innolux EJ33NA 20, Innolux EJ7430NA 2401, XNUMXBXNUMXNA XNUMXXCXNUMX XNUMX, Samsung DBXNUMX, WideChips WSXNUMX .
    • Bætt við LiteETH reklum með stuðningi við Ethernet stýringar sem notaðir eru í LiteX hugbúnaðar SoCs (fyrir FPGA).
    • Lágtímavalkosti hefur verið bætt við usb-hljóðrekla til að stjórna því að aðgerð sé tekin inn í lágmarks leynd. Einnig bætt við quirk_flags valmöguleika til að standast tækissértækar stillingar.

Á sama tíma myndaði Latin American Free Software Foundation útgáfu af algerlega ókeypis kjarna 5.15 - Linux-libre 5.15-gnu, hreinsaður af hlutum fastbúnaðar og rekla sem innihalda ófrjálsa íhluti eða kóðahluta, umfang þeirra er takmarkað. af framleiðanda. Nýja útgáfan útfærir úttak skilaboða í logg um að hreinsun sé lokið. Vandamál við að búa til pakka með því að nota mkspec hafa verið lagfærð, stuðningur við snap pakka hefur verið bættur. Fjarlægði nokkrar viðvaranir sem birtust þegar unnið var úr firmware.h hausskránni. Leyfði framleiðsla á sumum tegundum viðvarana (“format-extra-args”, athugasemdir, ónotaðar aðgerðir og breytur) þegar byggt var í „-Werror“ ham. Bætt við gehc-achc bílstjórahreinsun. Uppfærður blob-hreinsunarkóði í ökumönnum og undirkerfum adreno, btusb, btintel, brcmfmac, aarch64 qcom. Hreinsun á driverum prism54 (fjarlægt) og rtl8188eu (komin út fyrir r8188eu) hefur verið stöðvuð.

Heimild: opennet.ru

Bæta við athugasemd