Linuxi tuuma 6.0 väljaanne.

Kaks kuud kestnud arendustöö järel esitles Linus Torvalds Linuxi tuuma 6.0 väljaandmist. Versiooninumbri oluline muutus tehti esteetilistel põhjustel ja see on formaalne samm, mis kõrvaldab ebamugavuse, mis on seotud mitme väljaande kumulatsiooniga sarjas (Linus naljatas, et põhjus versioonide haru vahetamiseks seisneb pigem selles, et tal hakkavad käte ja jalgade sõrmed lõppema versioonide numbrite lugemiseks). Mõningad silmapaistvamad muudatused: asünkroonne puhverdatud kirjutamise tugi XFS-is, plokidraiver ublk, ülesannete planeerija optimeerimine, tuuma töö korrektsuse kontrollimise mehhanism, plokksalvestuse krüptimise ARIA tugi.

Peamised uuendused tuumas 6.0:

  • Disski alamsüsteem, sisend/väljund ja failisüsteemid
    • Failisüsteemi XFS on lisatud asünkrooobufferdatud kirjutamise tugi io_uring mehhanismi abil. Performance testide tulemused, mis viidi läbi fio tööriistaga (1 voog, ploki suurus 4kb, 600 sekundit, järjestikune kirjutamine), näitavad sisend-/väljundoperatsioonide (IOPS) arvu kasvu 77k-st 209k-ni, andmeedastuskiirus suurenemist 314MB/s-lt 854MB/s-le, ja latentsuse vähenemist 9600ns-st 120ns-ni (80 korda).
    • Btrfs failisüsteemis on rakendatud teise versiooni protokoll käsule „send”, mis toetab täiendavaid metaandmeid, andmete saatmist suuremate plokkidena (üle 64K) ja ulatuste edastamist kompressitud kujul. Otselugemise (direct read) operatsioonide jõudlus on suurenenud märkimisväärselt (kuni 3 korda), võimaldades samal ajal lugeda kuni 256 sektorit. Lukustuste konfliktid on vähenenud ning metaandmete kontrolli kiirus on paranenud, vähendades reservi metaandmete jaoks viivitamata elementide tarbeks.
    • Ext4 failisüsteemi on lisatud uued ioctl-operatsioonid EXT4_IOC_GETFSUUID ja EXT4_IC_SETFSUUID, et ekstraktida või seadistada superplokis hoitavat UUID-tähist.
    • F2FS failisüsteemis on saadaval madala mälu tarbimise režiim, mis optimeerib töötamist seadmetes, millel on piiratud RAM-i maht, võimaldades vähendada mälutarbimist jõudluse arvelt.
    • Lisatud tugi NVMe salvestusseadmete autentimiseks.
    • V serveril NFSv4-s on rakendatud aktiivsete klientide arvu piirang, mis on seatud 1024 lubatud kliendi kohta iga süsteemis oleva gigabaidi operatiivmälu kohta.
    • CIFS-klientide rakenduses on paranenud jõudlus mitme kanaliga edastamise režiimis.
    • FS fanotify sündmuste jälgimise süsteemi on lisatud uus lipp FAN_MARK_IGNORE, et ignoreerida spetsiifilisi sündmusi.
    • Overlayfs failisüsteemis on kasutaja identifikaatorite kaardistamise peal mountimisel tagatud POSIX-ühilduvate ligipääsukontrollide loendite õige toetus.
    • Lisatud plokkdraiver ublk, mis viib spetsiifilise loogika taustprotsessi kasutaja ruumi, kasutades io_uring süsteemi.
  • Mälu ja süsteemiteenused
    • DAMON (Data Access MONitor) süsteemi on lisatud uusi funktsioone, mis võimaldavad mitte ainult jälgida protsesside juurdepääsu mälule kasutaja ruumist, vaid ka mõjutada mälu haldamist. Eelkõige on pakutud uus moodul "LRU_SORT", mis tagab LRU (Least Recently Used) loendite ümbergrupiseerimise teatud mähe lehtede prioriteedi tõstmiseks.
    • On saavutatud võimalus luua uusi mälupiirkondi, kasutades CXL (Compute Express Link) bussitehnoloogiat, mis organiseerib kiiret suhtlemist CPU ja mälu seadmete vahel. CXL võimaldab ühendada uusi mälupiirkondi, mida pakuvad välist mälu seadmed, ning kasutada neid füüsilise aadressiruumi täiendavate ressurssidena, et suurendada süsteemi operatiivmälu (DDR) või püsimälu (PMEM).
    • Lahendatud on AMD Zen protsessoritega süsteemide jõudluse probleemid, mis olid tingitud 20 aastat tagasi lisatud koodist, et ületada teatud mahtuvuskiipide tehnilist probleemi (lisati täiendav WAIT käsk, mis aeglustas protsessorit, et mahtuvuskiip jõuaks jõuda ooterežiimi). Muudatus tõi kaasa jõudluse languse olukordades, kus sageli vahelduvad ooterežiim (idle) ja aktiivsus (busy). Näiteks pärast ümbersõidu tühistamist suurenes tbench testi keskmine näitaja 32191 MB/s-lt 33805 MB/s-le.
    • Ülesannete planeerijast on eemaldatud heuristiline kood, mis tagas protsesside migreerimise kõige vähem koormatud CPU-dele, arvestades prognoositavat energiasäästu. Arendajad jõudsid järeldusele, et heuristika ei too piisavat kasu ning on lihtsam protsesse liikuda ilma lisahinnanguteta iga kord, kui selline liikumine võib potentsiaalselt vähendada energiatarbimist (näiteks kui siht-CPU on madalama energiatarbimise tasemel). Heuristika väljalülitamine viis energiatootmise vähenemiseni intensiivsete ülesannete täitmisel; näiteks videode dekodeerimise testis vähenes energiatarbimine 5,6%.
    • Optimeeritud ülesannete jaotamine CPU tuumade vahel suurtes süsteemides, mis võimaldas tootlikkuse tõstmist teatud koormuse tüüpide korral.
    • Asünkroosse sisendi/väljundi io_uring liideses on pakutud uus lipp IORING_RECV_MULTISHOT, mis võimaldab kasutada «multi-shot» režiimi süsteemi kutses recv() mitme lugemisoperatsiooni sooritamiseks ühest võrgu soklist. Io_uringis on ka rakendatud toimetamist võrgu kaudu ilma vahepealsete puhvriteta (zero-copy).
    • BPF-programmide üleviimise võimalus, mis on kinnitatud uprobe'idele, on viidud unerežiimi. BPF-ile on lisatud uus ksym-i iteratoor tuumade sümbolitabelitega töötamiseks.
    • Eemaldatud on aegunud liides «efivars» sysfs-is, mis oli mõeldud UEFI käivitamismuutujatele juurdepääsuks (EFI andmetele pääsemiseks kasutatakse nüüd üle kogu ulatuse virtuaalset failisüsteemi efivarfs).
    • Perf utiliidis on rakendatud uusi aruandeid lukustuskonfliktide analüüsimiseks ja aja mõõtmiseks, mida protsessor veedab tuuma komponentide täitmiseks.
    • Eemaldatud on seade CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3, mis võimaldas kompileerida tuuma optsiooniga „-O3“. Tuleb märkida, et eksperimente optimeerimisrežiimidega saab teha, edastades lippude kaudu (make KCFLAGS=-O3), ja et Kconfigisse seadme lisamiseks on vajalik usaldusväärne jõudluse profiilimine, mis näitab, et „-O3“ režiimis rakendatud silmade rullimine annab võrreldes optimeerimistasemega „-O2“ eelise.
    • Lisatud on debugfs-liides, et saada teavet individuaalsete „memory shrinkerite“ töö kohta (käitised, mida kutsutakse, kui mälu on vähe ja mis pakendavad tuuma andmestruktuure, et vähendada nende mälu tarbimist).
    • Arhitektuuridele OpenRISC ja LoongArch on rakendatud PCI-bussi toetus.
    • RISC-V arhitektuuri jaoks on rakendatud laiendust „Zicbom“ DMA-seadmete juhtimiseks, mis ei ole koherentse vahemällu (non-cache-coherent).
  • Virtualiseerimine ja turvalisus
    • RV (Runtime Verification) valideerimismehhanismi on lisatud, et kontrollida, kas töö on õige kõrge usaldusväärsusega süsteemides, mis garanteerivad katkestuste puudumise. Kontrollimine toimub käitamise ajal, kombineerides käitlejad jälgimispunktidega, mis võrreldavad tegelikku täitmise käiku eelnevalt määratletud determinantsete automaatmudeliga, mis määratleb süsteemi oodatud käitumise. Mudeliga käigus võrreldamine on olnud kergem ja praktilisem viis kriitiliste süsteemide täitmise õigsuse kinnitamiseks, täiendades klassikalisi usaldusväärsuse kinnitamise meetodeid. RV eeliste seas on võimalus tagada ranget valideerimist ilma, et kogu süsteemi peaks eraldi rakendama modelleerimiskeeles, samuti paindlik reageerimine ettenägematutele sündmustele.
    • Integreeritud on põhikomponendid Intel SGX2 (Software Guard eXtensions) tehnoloogial põhinevate anklavide haldamiseks, mis võimaldavad rakendustel käitada koodi isoleeritud, krüpteeritud mälualades, millele ülejäänud süsteemil on piiratud juurdepääs. Intel SGX2 tehnoloogiat toovad välja Intel Ice Lake ja Gemini Lake kiibid, ning see erineb Intel SGX1-st täiendavate juhiste poolest anklavide dünaamiliseks mälu haldamiseks.
    • X86 arhitektuurile on rakendatud võimalus edastada algväärtus pseudojuhuslike arvude generaatorile kaudu alglaadimise sätteid.
    • LSM moodulisse SafeSetID on lisatud võimalus hallata muudatusi, mis tehakse setgroups() väljakutse kaudu. SafeSetID võimaldab süsteemiteenustel ohutult hallata kasutajaid ilma privileegide tõstmiseta (CAP_SETUID) ja ilma root-kasutaja volituste saamiseta.
    • Lisatud on tuge plokkšifri ARIA jaoks.
    • BPF-baasil turvahalduse moodulis on rakendatud võimalus kinnitada töötlusi eraldi protsessidele ja protsessigruppidele (cgroup).
    • Lisatud on mehhanism, millel on teostus watch dog, et määrata külmunud külalisüsteemid vCPU aktiivsuse jälgimise kaudu.
  • Võrgu alamsüsteem
    • BPF-alamsüsteemi on lisatud käitlejad SYN-küpsiste genereerimiseks ja kontrollimiseks. Samuti on lisatud funktsioonide kogum (kfunc), mis võimaldab ligipääsu ja ühenduste oleku muutmist.
    • Traadita süsteemi on lisatud tugi MLO (Multi-Link Operation) mehhanismile, mis on määratletud WiFi 7 spetsifikatsioonis ja võimaldab seadmetel samaaegselt andmeid vastu võtta ja edastada erinevate sagedusvahemike ja kanalite kasutamisel, näiteks mitme suhtluskanali samal ajal loomine juurdepääsupunkti ja kliendiseadmendi vahel.
    • Parandatud on TLS protokolli tuuma sees oleku jõudlust.
    • Kerneli käsurea parameeter "hostname=" on lisatud, mis võimaldab hostinime määrata varases laadimisetapis, enne kui kasutajaruumi komponendid on käivitatud.
  • Seadmed
    • i915 (Intel) draiveris on toetatud Intel Arc (DG2/Alchemist) A750 ja A770 eraldiseisvaid graafikakaarte. Algne tugi Intel Ponte Vecchio (Xe-HPC) ja Meteor Lake GPU-dele on esitatud. Töö Intel Raptor Lake platvormi toe nimel jätkub.
    • amdgpu draiveris on jätkatud töö AMD RDNA3 (RX 7000) ja CDNA (Instinct) platvormide toe tagamiseks.
    • Nouveau draiveris on ümber kirjutatud NVIDIA nv50 GPU ekraanide mootorite toetuskood.
    • LogiCVC ekraanide jaoks on lisatud uus DRM-draiver logicvc.
    • v3d draiveris (Broadcom Video Core GPU jaoks) on rakendatud Raspberry Pi 4 toetust.
    • msm draiverisse on lisatud Qualcomm Adreno 619 GPU tugi.
    • Panfrost draiverisse on lisatud ARM Mali Valhall GPU tugi.
    • Lisatud on esialgne tugi 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 platvormidele.
    • Lisatud on tuge Intel Habana Gaudi 2 masinõppe süsteemide kiirendite jaoks.
    • Lisatud on ARM SoC Allwinner H616, NXP i.MX93, Sunplus SP7021, Nuvoton NPCM8XX, Marvell Prestera 98DX2530 ja Google Chameleon v3 tugi.

Ladina Ameerika vaba tarkvara fond on formuleerinud täies ulatuses vaba 6.0 kernel versiooni — Linux-libre 6.0-gnu, mis on puhastatud kõikidest sissetoodud ja draiveritest, mis sisaldavad mittevaba komponente või koodilõike, mille kasutusala on tootja poolt piiratud. Uue versiooni puhul on välja lülitatud blobide kasutamine CS35L41 HD-audio draiveris ja UCSI liidese draiveris STM32G0 mikrokontrollerite jaoks. DTS-failide puhastamine Qualcommi ja MediaTeki kiipide jaoks on viidud ellu. MediaTeki MT76 draiveris on ümber kujundatud blobide väljalülitamine. Uuendatud on blobide puhastamiskoodi draiverites ja süsteemides AMDGPU, Adreno, Tegra VIC, Netronome NFP ja Habanalabs Gaudi2. VXGE draiveri puhastamine on lõpetatud, kuna see on tuumast eemaldatud.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster