P pĂ€rast kahe kuu arendust esitles Linus Torvalds Linuxi 6.0 tuuma vĂ€ljaannet. Versiooninumbri mĂ€rgiline muutmine on tehtud esteetilistel kaalutlustel ja see on formaalne samm, mis eemaldab ebamugavust suure arvu vĂ€ljaannete kogumise tĂ”ttu seerias (Linus naljatas, et haru numbri vahetamise pĂ”hjus on pigem see, et tal hakkavad sĂ”rmed ja varbad versioonide numbrite loendamiseks otsa saama). MĂ”ned silmapaistvamad muudatused: XFS-i asĂŒnkroonse puhvrikirjutuse toetamine, plokkjuht ublk, tĂ¶Ă¶ĂŒlesannete ajastamise optimeerimine, tuuma korrektsuse verifitseerimise mehhanism, ARIA plokkĆĄifri toimetamine.
Peamised uuendused tuumas 6.0:
- DiskisĂŒsteem, sisend/vĂ€ljund ja failisĂŒsteemid
- XFS-i failisĂŒsteemi on lisatud asĂŒnkroonse puhvrikirjutuse tugi io_uring mehhanismi kasutades. Performaance testid, mis viidi lĂ€bi fio tööriistade abil (1 voog, ploki suurus 4KB, 600 sekundit, jĂ€rjestikune kirjutamine), nĂ€itavad sisendi/tulemuse operatsioonide (IOPS) kasvu 77K-lt 209K-le, andmete edastuskiiruselt 314MB/s 854MB/s-ni ja viivituse kahanemist 9600ns-ilt 120ns-ni (80 korda).
- Btrfs-i failisĂŒsteemis on ellu viidud komandi 'send' teine versioon, mis toetab tĂ€iendavaid metadata, rohkemate andmete saatmist suuremate plokkide kaupa (ĂŒle 64K) ja andmete edastamist kompaktse kujul. Otsese lugemise (direct read) toimingute tootlikkus on suurenenud (kuni 3 korda) tĂ€nu kuni 256 sektori samal ajal lugemisele. Blokeeringute konfliktid on vĂ€henenud ja metadata valideerimine on kiirem, vĂ€hendades reserveeritud metadatala viibitavate elementide jaoks.
- ext4 failisĂŒsteemi on lisatud uued ioctl-operatsioonid EXT4_IOC_GETFSUUID ja EXT4_IC_SETFSUUID superblokkis salvestatud UUID-ilt vĂ€ljavĂ”tmiseks vĂ”i seadmiseks.
- F2FS-i failisĂŒsteemis on vĂ€lja pakutud madala mĂ€lutarbimise reĆŸiim, mis optimeerib tööd seadmetes, kus on vĂ€ike RAM-i maht, ja vĂ”imaldab vĂ€hendada mĂ€lu tarbimist jĂ”udluse vĂ€henemise arvelt.
- On lisatud NVMe seadmete autentimise toetus.
- Uues serveris NFSv4-s on rakendatud piirang aktiivsete klientide arvule, mis mÀÀratakse 1024 lubatud kliendina iga sĂŒsteemis oleva gigabaidi RAM-i kohta.
- CIFS kliendi rakenduses on paranenud mitme kanaliga edastamise jÔudlus.
- FAnotify sĂŒsteemi sĂŒndmuste jĂ€lgimise alamsĂŒsteemi on lisatud uus lipp FAN_MARK_IGNORE spetsiifiliste sĂŒndmuste ignoreerimiseks.
- Overlayfs failisĂŒsteemis, kasutades kasutaja identifikaatorite kaardistamise ĂŒle, on tagatud POSIX-ĂŒhilduvate ligipÀÀsukontrolli loendite korrektne tugi.
- Lisatud on ublk plokkjuht, mis viib spetsiifilise loogika taustprotsessi kasutajaruumi ning kasutab io_uring alamsĂŒsteemi.
- MĂ€lu ja sĂŒsteemiteenused
- DAMON (Data Access MONitor) alamsĂŒsteemi on lisatud uued vĂ”imalused, mis vĂ”imaldavad mitte ainult jĂ€lgida protsesside ligipÀÀsu operatiivmĂ€lu kasutajaruumi, vaid ka mĂ”jutada mĂ€lu haldamist. EelkĂ”ige on ettepanek teha uus moodul "LRU_SORT", mis tagab LRU (Least Recently Used) loendite ĂŒmbergruppimise teatud mĂ€helehtede prioriteedi tĂ”stmiseks.
- Teostatud on uus mĂ€lu regionide loomise vĂ”imalus, kasutades CXL (Compute Express Link) bussi vĂ”imeid, mis on vajalik CPU ja mĂ€lu seadmete vaheliseks kiireks suhtlemiseks. CXL vĂ”imaldab ĂŒhendada uusi mĂ€lu piirkondi, mis on esitatud vĂ€listelt mĂ€lu seadmetelt, ja kasutada neid fĂŒĂŒsilise aadressiruumi tĂ€iendavate ressurssidena sĂŒsteemi operatiivmĂ€lu (DDR) vĂ”i pĂŒsimĂ€lu (PMEM) laiendamiseks.
- AMD Zen protsessoritega sĂŒsteemide jĂ”udlusprobleemid on lahendatud, mis olid pĂ”hjustatud 20 aastat tagasi lisatud koodist, et ĂŒletada mĂ”nede kiibistikute riistvaraprobleem (lisatud ooteaeg WAIT juhis, mis aeglustas protsessorit, kuni kiibistik jĂ”udis ooteolekusse). Muudatus tĂ”i kaasa jĂ”udluse languse koormustes, kus vahelduvad tihti oote- ja aktiivsuse olekud. NĂ€iteks pĂ€rast ĂŒmbersuunamise tĂŒhistamist tĂ”usid keskmised tbench testi nĂ€itajad 32191 MB/s-lt 33805 MB/s-le.
- Ălesande planeerijast eemaldati heuristika kood, mis vĂ”imaldas protsesside migreerimise kĂ”ige vĂ€hem koormatud CPU-dele, arvestades prognoositavat kasu energiatarbimise osas. Arendajad jĂ”udsid jĂ€reldusele, et heuristika ei too piisavat kasu ning on lihtsam protsesse liigutada ilma tĂ€iendavate hinnanguteta iga kord, kui selline liigutamine vĂ”ib potentsiaalselt aidata energiatarbimist vĂ€hendada (nĂ€iteks kui siht-CPU on madalama energiatarbimise tasemel). Heuristika vĂ€ljalĂŒlitamine tĂ”i kaasa energiatarbimise vĂ€henemise intensiivsete ĂŒlesannete tĂ€itmisel, nĂ€iteks videode dekodeerimise testis vĂ€henes energiatarbimine 5,6% vĂ”rra.
- Optimeeriti ĂŒlesannete jaotust CPU tuumade vahel suurtes sĂŒsteemides, mis vĂ”imaldas teatud koormuste korral tootlikkuse suurenemist.
- AsĂŒnkroonse sisendi/vĂ€ljundi io_uring liideses on pakkuda uus lipp IORING_RECV_MULTISHOT, mis vĂ”imaldab kasutada 'multi-shot' reĆŸiimi sĂŒsteemikutses recv(), et teostada korraga mitu lugemisoperatsiooni ĂŒhest vĂ”rgu soklist. io_uring sisaldab ka toe vĂ”rgusiirde jaoks ilma vahe-bufferita (zero-copy).
- Rakendatud on vĂ”imalus BPF programme, mis on seotud uprobe'iga, une olekusse viia. BPF-ile on lisatud ka uus iteratsioonikood ksym, et töötada koos tuuma sĂŒmbolite tabelitega.
- Kustutatud on vananenud 'efivars' liides sysfs-is, mis oli mĂ”eldud UEFI laadimismuutujate juurde pÀÀsemiseks (EFI andmete juurde pÀÀsemiseks kasutatakse nĂŒĂŒd laialdaselt virtuaalset failisĂŒsteemi efivarfs).
- Perf utiliidis on rakendatud uusi aruandeid lukustamisvaidluste analĂŒĂŒsi ja protsessori kulutatud aja jaoks tuuma komponentide tĂ€itmiseks.
- Eemaldatud on seadistus CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3, mis vĂ”imaldas tuuma koguda 'optimiseerimise' reĆŸiimis '-O3'. TĂ”detakse, et optimeerimisreĆŸiimide katsetusi saab teostada lipu edastamise kaudu kogumisel ('make KCFLAGS=-O3'), ja Kconfig'is seadistuse lisamiseks on vajalik tagada korduv profiliimistulemuse, mis nĂ€itab, et '-O3' reĆŸiimis rakendatavad silmade siluvad mĂ€hised toovad kasu vĂ”rreldes 'O2' optimeerimise tasemega.
- Lisatud on debugfs-liides, et saada teavet individuaalsete «memory shrinkerite» toimimise kohta (haldurid, mida kutsub esile mÀlu puudus ja mis pakendavad tuuma andmestruktuure, et vÀhendada nende mÀlu tarbimist).
- Architektuuridele OpenRISC ja LoongArch on rakendatud PCI-bussi tugi.
- Architektuurile RISC-V on rakendatud laiendus «Zicbom» DMA-seadmete haldamiseks, mis ei ole kooskÔlastatud vahemÀluga (non-cache-coherent).
- Virtualiseerimine ja turvalisus
- Lisatud on RV (Runtime Verification) verifikatsiooni mehhanism, et kontrollida töö korrektust kĂ”rge töökindlusega sĂŒsteemides, tagades katkestuste puudumise. Kontroll toimub tĂ€itmise ajal, kinnitades töötajate sidumise jĂ€lgimist tĂ”rgete punktides, mis vĂ”rdlevad reaalse tĂ€itmise kĂ€iku etteantud deterministlikule automaadimudelile, mis mÀÀratleb oodatava kĂ€itumise sĂŒsteemis. Kontroll mudeliga tĂ€itmise ajal on kergem ja praktilisem meetod töö korrektuse kinnitamiseks kriitiliselt olulistes sĂŒsteemides, tĂ€iustades klassikalisi töökindluse kinnitamise meetodeid. RV eeliste hulgas on vĂ”imalus tagada range verifikatsioon ilma terve sĂŒsteemi eraldi teostamata mudelkeeles, samuti paindlik reageerimine ettenĂ€gematutele sĂŒndmustele.
- Integreeritud on tuuma komponente Intel SGX2 tehnoloogiaga pĂ”hinevate aukude haldamiseks (Software Guard eXtensions), mis vĂ”imaldab rakendustel tĂ€ita koodi isoleeritud krĂŒpteeritud mĂ€lupiirkondades, millele ĂŒlejÀÀnud sĂŒsteemi juurdepÀÀs on piiratud. Intel SGX2 tehnoloogiat toetavad Intel Ice Lake ja Gemini Lake kiibid ning see erineb Intel SGX1-st tĂ€iendavate juhistega ankrahalduse dĂŒnaamiliseks haldamiseks.
- Architektuurile x86 on rakendatud vÔimalus edastada seemneid pseudorajate generaatorile kÀivitusprogrammi seadetes.
- LSM-moodulisse SafeSetID on lisatud vĂ”imalus hallata muutusi, mida teostatakse through setgroups() kĂ”ne. SafeSetID vĂ”imaldab sĂŒsteemiteenustel turvaliselt hallata kasutajaid ilma privileegide tĂ”stmiseta (CAP_SETUID) ja ilma juurkasutaja Ă”igusi saamata.
- Lisatud on ARIA plokksalguri tugi.
- BPF-pĂ”histes turvahalduse moodulis on vĂ”imalik kinnitada töötlejaid ĂŒksikutele protsessidele ja protsessigruppidele (cgroup).
- Lisatud on mehhanism kella jĂ€lgimise rakenduseks, et tuvastada kĂŒlmunud kĂŒlalisĂŒsteemid vCPU aktiivsuse jĂ€lgimise alusel.
- VĂ”rgusĂŒsteem
- BPF alamdatasĂŒsteemi on lisatud töötlejad SYN kĂŒpsiste genereerimiseks ja kontrollimiseks. Samuti on lisatud funktsioonide kogum (kfunc) ĂŒhenduste oleku juurdepÀÀsuks ja muutmiseks.
- Kaasatud on MLO (Multi-Link Operation) tugi, mis on mÀÀratletud WiFi 7 spetsifikatsioonis ja vĂ”imaldab seadmetel samal ajal andmeid vastu vĂ”tta ja saata erinevate sagedusvahemike ja kanalite abil, nĂ€iteks mitme kanaliga ĂŒhenduse loomisel pÀÀsupunkti ja kliendiseadme vahel.
- TÔhustatud on TLS-protokolli tuuma sisseehitatud rakenduse jÔudlust.
- Lisatud on tuuma kĂ€skluse parameeter "hostname=", mis vĂ”imaldab seadistada kĂŒlalise nime varajases laadimisetapis, enne kui kasutusruumi komponendid kĂ€ivituvad.
- Varustus
- i915 (Intel) draiveris on tagatud Intel Arc (DG2/Alchemist) A750 ja A770 diskreetsete graafikakaartide tugi. Pakutud on algne rakendus Intel Ponte Vecchio (Xe-HPC) ja Meteor Lake GPU-de toetamiseks. JĂ€tkatakse Intel Raptor Lake platvormi toetuse arendamist.
- amdgpu draiveris jÀtkatakse AMD RDNA3 (RX 7000) ja CDNA (Instinct) toetuse tagamist.
- Nouveau draiveris on ĂŒle vaadatud NVIDIA nv50 GPU-de ekraanitehnika toe kood.
- Lisatud on uus DRM-draiver logicvc LogiCVC ekraanide jaoks.
- v3d draiveris (Broadcom Video Core GPU jaoks) on rakendatud Raspberry Pi 4 platvormide tugi.
- msm draiverisse on lisatud Qualcomm Adreno 619 GPU tugi.
- Panfrost draiverisse on lisatud ARM Mali Valhalli GPU tugi.
- Algne tugi on lisatud Qualcomm Snapdragon 8cx Gen3 protsessoritele, mida kasutatakse Lenovo ThinkPad X13s sĂŒlearvutites.
- Lisatud on helidraiverid AMD Raphael (Ryzen 7000), AMD Jadeite, Intel Meteor Lake ja Mediatek MT8186 platvormide jaoks.
- Lisatud on Intel Habana Gaudi 2 masinÔppe kiirendite tugi.
- ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530 ja Google Chameleon v3 on saanud toe.
Samas, Ladina-Ameerika Avatud Allika Fond lĂ”i tĂ€ielikult avatud 6.0 tuuma versiooni - Linux-libre 6.0-gnu, mis on puhastatud tootjate poolt piiratud komponentidest vĂ”i koodilĂ”ikest, sealhulgas pĂŒsivara ja draiverite elementidest. Uues vĂ€ljaandes on CS35L41 HD-audio draiveris ja STM32G0 mikrokontrollerite UCSI liidese draiveris blobe kasutamine keelatud. Qualcommi ja MediaTeki kiipide dts-failid on puhastatud. MediaTek MT76 draiveri blobe keelamine on ĂŒmber tehtud. Blobe puhastamisekood on vĂ€rskendatud AMDGPU, Adreno, Tegra VIC, Netronome NFP ja Habanalabs Gaudi2 draiverites ja alamsĂŒsteemides. VXGE draiveri puhastamine, mis on tuumast eemaldatud, on lĂ”petatud.
Allikas: opennet.ru
