Ytimen julkaisu Linux 7.1

Kahden kuukauden kehitystyön jälkeen Linus Torvalds julkaisi ytimen. Linux 7.1. Merkittävimpiä muutoksia: uusi ntfsplus-ajuri, i486-suorittimien tuen lopettamisen ensimmäinen vaihe, vanhojen Ethernet-sovittimien poisto, ISDN- ja AX.25-protokollien poisto, Intelin FRED-mekanismin käyttöönotto oletusarvoisesti, BPF-käsittelijöiden tuki io_uring-ajurissa, swap-alijärjestelmän optimointi, aliaikatauluttajien tuki sched_ext-ajurissa, kopioimaton I/O ublk-ajurissa, ioctl-operaation "sammutus" Btrfs-ajurissa, suorituskykytilan dynaaminen vaihto amd-pstate-ajurissa, xattr-tuki Unix-socketeille.

Uusi versio sisältää 17275 2589 korjausta XNUMX XNUMX kehittäjältä,
Korjauksen koko on 57 Mt (muutokset vaikuttivat 13 528 tiedostoon, lisäsivät 751 785 koodiriviä ja poistivat 405 916 riviä). Edellinen julkaisu sisälsi 15 624 korjausta 2 477 kehittäjältä, ja korjauksen koko on 56 Mt. Noin 41 % kaikista 7.1-version muutoksista liittyy laiteajureihin, noin 12 % muutoksista liittyy laitteistoarkkitehtuureille ominaisen koodin päivityksiin, 14 % liittyy verkkopinoon, 5 % liittyy tiedostojärjestelmiin ja 3 % liittyy sisäisiin ytimen alijärjestelmiin.

Ytimen 7.1 (1, 2, 3) tärkeimmät uudet ominaisuudet:

  • Levyalijärjestelmä, I/O ja tiedostojärjestelmät
    • NTFS-tiedostojärjestelmän uusi toteutus, ntfsplus, on otettu käyttöön. Se perustuu klassisen ntfs-ajurin koodiin, joka poistettiin ytimestä. Vanhaa ajuria on uudistettu, laajennettu datan kirjoitusmahdollisuudella ja mukautettu tukemaan moderneja ominaisuuksia, kuten muistisivufolioiden (folioiden) käyttöä buffer_head-rakenteen sijaan. Uusi ajuri toteuttaa laiskan lohkojen allokoinnin, joka mahdollistaa korkean kirjoitustehon ja vähentää pirstoutumista. iomap-kirjastoa käytetään puskuroituihin luku-/kirjoitustoimintoihin, suoraan I/O:hon, laajuuskartoitukseen ja sivun luku-/kirjoitustoimintoihin. iozone-testeissä ntfsplus-ajuri oli 3–5 % nopeampi kuin ntfs3 kirjoitettaessa yksisäikeisessä tilassa ja 35–110 % nopeampi käytettäessä neljää säiettä. Ntfsplus- ja ntfs3-ajurien lukunopeus on suunnilleen sama. ntfs3-ajuri on edelleen ytimessä ja sitä on päivitetty korjauksilla ja pienillä parannuksilla.
    • Lisätty tuki T10-eheystarkistustietojen luomiselle ja tarkistamiselle tiedostojärjestelmätasolla lohkolaitetason sijaan, mikä parantaa lukutoimintojen suorituskykyä.
    • Ublk-lohkolaiteohjain, joka mahdollistaa tietyn logiikan siirtämisen käyttäjätilan prosesseihin, tukee nyt syöttöä/tulostusta jaetun muistin kautta ilman tietojen kopiointia puskurien välillä (nollakopiointitila).
    • SED-OPAL-itsesalaaville lohkolaitteille on lisätty ioctl-käskyt yhden käyttäjän tilan ohjaamiseksi ja STACK_RESET-komento on toteutettu.
    • Btrfs on ilmoittanut vakaasta tuesta ioctl-operaation "shutdown"-toiminnolle, joka sallii tiedostojärjestelmän siirtyä tilaan, jossa se yrittää lopettaa jo käynnissä olevia toimintoja, mutta estää kaikki uudet toiminnot.
    • exfat toteuttaa tyhjien alueiden varaamisen kutsumalla fallocate()-funktiota.
    • CIFS-tiedostojärjestelmä tukee nyt väliaikaisten tiedostojen luomista O_TMPFILE-lipulla.
    • fsmount()-järjestelmäkutsu sisältää nyt FSMOUNT_NAMESPACE-valinnan, joka luo uuden liitoskohdan nimiavaruuden liitetylle tiedostojärjestelmälle. clone3()- ja unshare()-järjestelmäkutsuihin on lisätty liput, jotka palauttavat uuden liitoskohdan nimiavaruuden, joka sisältää vain liitetyn, tyhjän, nullfs-pohjaisen tiedostojärjestelmän tynkän ja fs-dax-ajurin, jossa on tiedostojärjestelmärajapinta DAX (Direct Access) -laitteisiin.
    • NFS-palvelimella on nyt suojaus tiedostodeskriptoreihin kohdistuvia raa'an voiman hyökkäyksiä vastaan, joka on toteutettu kryptografisesti allekirjoittamalla deskriptorit. Tämä suojaus otetaan käyttöön sign_fh-liitosasetuksella.
    • Symbolinen fs-dax-ajuri on lisätty, ja se tarjoaa rajapinnan vuorovaikutukseen sivuvälimuistin ohittamista tukevien DAX (Direct Access) -laitteiden kanssa. Tämä rajapinta on välttämätön famfs-muistin sisäisen tiedostojärjestelmän integroimiseksi ytimeen.
    • Ceph-tiedostojärjestelmä toteuttaa I/O-metriikoiden keräämisen taltiokohtaisesti.
  • Muisti- ja järjestelmäpalvelut
    • Ensimmäinen kierros muutoksia i486-prosessoreiden tuen poistamiseksi on otettu käyttöön. Vaihtoehdot ytimen kääntämiseksi tukemalla 486DX-, 486SX- ja AMD ELAN -prosessoreita (CONFIG_M486, CONFIG_M486SX ja CONFIG_MELAN) on poistettu Kconfig-tiedostosta, ja i486-järjestelmien käännösasetukset (-march=i486) on poistettu Makefile-tiedostosta. Varsinainen i486-prosessoreita tukeva koodi on edelleen ytimessä, mutta tällaisten järjestelmien kääntäminen vaatii nyt korjauksia makefile-tiedostoihin. Syy i486-prosessoreiden tuen poistamiseen on poistaa ytimestä monimutkainen koodi, joka jäljittelee tiettyjä laitteistotoimintoja, kuten CX8 (8 tavun vertailu ja vaihto) ja TSC (tehtävien ajoituksessa käytetty suorittimen syklilaskuri).
    • AMD-prosessoreilla varustettujen järjestelmien virranhallintaan käytetty amd-pstate-ajuri vaihtaa nyt dynaamisesti suorituskykyasetuksia ja muokkaa virranhallintatoimintoja sen mukaan, toimiiko järjestelmä akkuvirralla vai virtalähteellä. Virtalähteeseen kytkettynä "suorituskyky"-tila aktivoituu nyt, kun taas akkuvirralla käytettäessä "balance_performance"-tila aktivoituu.
    • Intelin joustava palautus- ja tapahtumatoimitusmekanismi (FRED) on oletusarvoisesti käytössä, mikä parantaa matalan tason tapahtumien toimituksen tehokkuutta ja luotettavuutta. Suorituskykyä ja latenssia parannetaan palauttamalla tapahtumat IRET-prosessorin käskyä käyttäen sen sijaan, että ne välitettäisiin keskeytyskuvaustaulukon (IDT) kautta. Luotettavuutta parannetaan erottamalla tapahtumavastaanotot ytimen ja käyttäjän konteksteissa, suojaamalla sisäkkäiseltä NMI-suoritukselta ja tallentamalla kaikki poikkeuksiin liittyvät suorittimen rekisterit laajennettuun pinokehykseen.
    • perf-alijärjestelmää on päivitetty tukemaan NVIDIA Tegra410 SoC:ssa käytettyjä suorituskyvyn valvontayksiköitä (PMU).
    • Futexin toimintaa ARM-järjestelmissä on nopeutettu hyödyntämällä Arm 9.6 LSUI -käskyjä, jotka sallivat ytimen käyttää käyttäjätilan muistia ilman, että PAN (Privileged Access Never) -suojaustilaa tarvitsee ensin poistaa käytöstä.
    • ARM-prosessoreita sisältävissä järjestelmissä Memory System Resource Partitioning and Monitoring (MPAM) -käskykanta-arkkitehtuurilaajennuksen tukea on parannettu, ja sitä voidaan käyttää käyttäjätilassa resurssien hallintaan resctrl-mekanismin kautta. MPAM merkitsee jokaisen muistikäytön osiotunnisteella (PARTID) ja valvontaryhmän tunnisteella (PMG). PARTID-tunnisteiden avulla voit rajoittaa resurssien kulutusta, kuten muistin kaistanleveyttä tai välimuistin kokoa, estääksesi yksittäistä tehtäväryhmää kuluttamasta kaikkia resursseja. Valvonnan yhteydessä PMG:n ja PARTID:n yhdistelmää voidaan käyttää muistiresurssien kulutuksen seuraamiseen tietyissä työkuormissa.
    • Lisätty tuki reaaliaikatilalle (PREEMPT_RT) 32-bittisille ARM-prosessoreille. Aiemmin PREEMPT_RT-tuki oli saatavilla x86- ja x86-64-, ARM64-, RISC-V- ja LoongArch-arkkitehtuureille.
    • clone3()-järjestelmäkutsulle on lisätty uusia asetuksia: CLONE_NNP — estää juuri luotua prosessia saamasta uusia oikeuksia; CLONE_AUTOREAP — lopettaa prosessin automaattisesti sen sijaan, että se muuttuisi zombie-prosessiksi, kunnes pääprosessi suorittaa wait()-funktion;
      CLONE_PIDFD_AUTOKILL - lopettaa lapsiprosessin, jos siihen liittyvä pidfd-kahva on suljettu (esimerkiksi kun pääprosessi päättyy).
    • Jokaiselle kernel-moduulille on lisätty import_ns-tiedosto /sys/module-hakemistoon, joka sisältää luettelon tuoduista symbolien nimiavaruuksista.
    • Asynkroninen io_uring-I/O-järjestelmä tukee nyt BPF-alijärjestelmän käyttöä käsittelijöiden luomiseen. Esimerkiksi päälähetyssilmukka voidaan korvata BPF-ohjelmalla.
    • BPF-alijärjestelmän pinon käyttöanalyysiä on modernisoitu, mikä on merkittävästi nopeuttanut todentajan suorittamaa monien BPF-ohjelmien tarkistusta.
    • hrtimer-alijärjestelmä (korkean resoluution ajastin) on kirjoitettu uudelleen suorituskyvyn optimoimiseksi. Tehtävien ajoitus voi nyt käyttää korkean resoluution ajastimia suorituskyvystä tinkimättä epätarkempien ajastinten sijaan.
    • Jatkuvat muutosten siirto-ohjeet Rust-for-haarastaLinux, joka liittyy Rust-kielen käyttöön toisena kielenä ajureiden ja ytimen moduulien kehittämisessä (Rust-tuki ei ole oletusarvoisesti aktiivinen, eikä se johda Rustin sisällyttämiseen ytimen pakollisten käännösriippuvuuksien luetteloon). Versioon 1.85 asti (toimitettu vuonna Debian 13) Rust-version vaatimuksia ytimen komponenttien rakentamiseksi on lisätty. Lisätty kokeellinen Kconfig-asetus CONFIG_RUST_INLINE_HELPERS C-interpolaatioiden sisällyttämiseksi Rust-koodiin kääntämisen aikana (tämä optimointi paransi null-lohkoajurin suorituskykyä 2 %). Lisätty makro 'const_assert!'. Laajennetut 'sizes'-, 'clk'-, 'ptr'-, 'sync'- ja 'error'-moduulien ominaisuudet.
    • SCHED_EXT-mekanismia, jonka avulla BPF:ää voidaan käyttää CPU-ajoittimien luomiseen, on täydennetty alkuperäisellä kyvyllä luoda sisäkkäisiä ajoittajia (aliaikatauluttajia), jotka sallivat jokaisen cgroupin käyttää omaa tehtävien ajoittajaansa.
    • Vaihtojärjestelmän optimointia jatkettiin. Vanha swap_map-rakenne poistettiin ja korvattiin "Swap Table" -mekanismilla. Tämä muutos paransi suorituskykyä ja vähensi muistinkulutusta swap-järjestelmässä.
    • DAMON (Data Access MONitor) -alijärjestelmää, jonka avulla voit valvoa prosessin pääsyä RAM-muistissa oleviin tietoihin (voit esimerkiksi selvittää, mitä muistialueita prosessi käytti ja mitkä muistialueet jäivät käyttämättä), on täydennetty tuella erilaisille automaattisille kiintiöiden säätöalgoritmeille.
    • Jäljitysjärjestelmä toteuttaa ulkoisten rengaspuskurien konseptin, joka mahdollistaa jäljitystietojen hakemisen virtuaalikoneetOminaisuus on käytössä hypervisoreissa. KVM ja nVHE jäljitysdatan lähettämiseen vieraspäästä isäntäpäähän.
    • Erittäin luotettavien järjestelmien oikean toiminnan tarkistamiseen suunniteltu RV (Runtime Verification) -alijärjestelmä on täydennetty "pysähdys"-valvontakomponenteilla sellaisten tehtävien seuraamiseksi, joiden suoritus on tilapäisesti keskeytetty tai estetty, sekä "määräajalla" tehtävien ajoituksen toiminnan analysoimiseksi.
  • Virtualisointi ja turvallisuus
    • Oletusarvoisesti PROC_MEM_FORCE_PTRACE-lippu on asetettu, mikä sallii prosessien muistin käyttöoikeuksien ohittamisen /proc/PID/mem-tiedoston kautta vain prosesseille, jotka käyttävät ptrace()-järjestelmäkutsua virheenkorjaukseen.
    • Lisätty uusi joukko koukkuja LSM-moduuleille (Linux Security Module), joka yksinkertaistaa pinopohjaisten tiedostojärjestelmien, kuten overlayfsin, käytäntöjen toteuttamista. LSM lisäsi myös koukun Unix-sockettien käyttöoikeuksien hallintaan, jota käytetään Landlock LSM -moduulissa Unix-sockettien käyttöoikeuskäytäntöjen määrittämiseen.
    • Sisäänrakennettu kryptokirjasto lib/crypto, joka tarjoaa yksinkertaisempia ja nopeampia toimintoja kuin perinteinen krypto-API, on päivitetty tukemaan AES-CMAC-, AES-XCBC-MAC-, AES-CBC-MAC-, GHASH- ja SM3-algoritmeja. Lib/crypton dokumentaatio on lisätty.
    • Olemme ottaneet käyttöön pKVM (Protected KVM) -tilan tiukkaa anonyymiä muistin eristämistä varten käyttämällä AArch64-arkkitehtuurin virtualisointilaajennuksia. Tässä tilassa vierasmuistisivut jätetään pois isäntäjärjestelmän virtuaaliosoitetaulukosta.
    • KVM-hypervisor tukee nyt ARM Virtual Generic Interrupt Controllerin (VGICv5) viidettä versiota.
  • Verkkoalijärjestelmä
    • Socket()-funktion luomille Unix-socketeille on toteutettu tuki laajennetuille tiedostoattribuuteille (xattr) "user.*". Yksi sovellusalue on Varlink IPC:ssä käytettyjen Unix-sockettien merkitseminen laajennetuilla attribuuteilla, joiden avulla ne voidaan erottaa muista IPC-tarkastusta ja BPF-ohjelmien virheenkorjausta varten. systemd-journaldissa laajennetut attribuutit on tarkoitettu /dev/log-socketin lokitiedostomuodon määrittämiseen.
    • UDP-Lite-protokollan (RFC 3828) tuki, joka sallii virheellisten tarkistussummien sisältävien pakettien toimittamisen siinä toivossa, että esimerkiksi osittain vaurioitunut ääni- ja videodata voidaan palauttaa koodekkitasolla, on poistettu. Tämä protokolla on poistettu, koska kukaan ei käytä sitä.
    • Mahdollisuus rakentaa IPv6-pino ytimen moduulina on poistettu. Tätä ei käytetty käytännössä (IPv6 on joko sisäänrakennettu ytimeen tai kokonaan poistettu käytöstä), mutta se vaikeutti ylläpitoa, koska IPv6:ta ytimen moduulina (CONFIG_IPV6=m) rakennettaessa monet alijärjestelmät joutuvat lisäämään turhia käsittelijöitä, jos IPv6-moduuli puretaan.
  • Оборудование
    • AMDGPU-ajuri sisältää uuden näyttömoottorin (DC) AMD HD 7000 -sarjan APU-suorittimille (Sea Islands, GCN 1.1).
    • Nouveau-ajuri lisää alustavan tuen NVIDIA GA100 -näytönohjaimelle Ampere-mikroarkkitehtuurin perusteella.
    • Työtä Intel Xe -arkkitehtuuriin perustuvien näytönohjainten Xe DRM (Direct Rendering Manager) -ajurin parissa jatkettiin. Kyseistä ajuria käytetään Intel Arc -sarjan näytönohjaimissa ja integroiduissa näytönohjaimissa Tiger Lake -prosessoreista alkaen. Tuki Intel Nova Lake-P -prosessoreiden grafiikkajärjestelmälle on lisätty. Tyhjennettävät puskuriobjektit on otettu käyttöön.
    • Olemme jatkaneet Nova-ajurikomponenttien integrointia NVIDIA GeForce RTX 2000 -sarjasta lähtien Turingin mikroarkkitehtuuriin perustuville näytönohjaimille, joissa on GSP-laiteohjelmisto. Ajuri on kirjoitettu Rust-kielellä. Alustava tuki Turingin mikroarkkitehtuuriin perustuville näytönohjaimille on lisätty.
    • Lisätty corebootdrm DRM -ajuri grafiikan lähettämiseen CoreBoot-pohjaisen laiteohjelmiston kehyspuskurin kautta.
    • Lisätty tuki seuraaville ASoC-piireille: AMD RPL DMIC, Cirrus Logic CS42L43, CS47L47, NVIDIA CPCAP ja WM8962. Parannettu tuki USB-äänilaitteille: Huawei Headset, Focusrite Novation, MV-Silicon, Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow.
      PreSonus AudioBox, Moondrop Ju Jiu, Scarlett 18i20.
    • Lisätty yogafan-ajuri tuulettimen nopeuden valvontaan Lenovo Yoga-, Legion- ja IdeaPad-kannettavissa.
    • Lisätty tuki ARM-levyille, järjestelmäpiireille ja laitteille: Qualcomm Glymur, Qualcomm Mahua, Qualcomm Eliza, Qualcomm IPQ5210, Qualcomm apq8084 ja ipq806x, Axis ARTPEC-9, ARM Zena, ARM corstone-1000-a320, Microchip LAN9691, Microchip PIC64GX, Rockchip RV1103B, Renesas RZ/G3L, NXP S32N79.
    • Baikal-T1 SoC:ssa käytettyjen AHCI SATA- ja PCIe-ohjainten sekä ajastin-, muisti-, physmap-, bus-, hwmon-, dwc- ja bt1-rom-ajurien tuki on poistettu. Poiston syynä on tuen puute ja Baikal-alustan komponenttien epätäydellinen integrointi ytimeen, koska tuotanto Venäjällä loppui marraskuussa 2025.
    • Poistettu 12 ajuria Ethernet-laitteille, joissa on ISA- ja PCMCIA-liitännät, jotka julkaistiin ennen vuotta 2002 ja joita ei löydetty käyttäjiltä tuotantojärjestelmistä. Poistettu myös ytimestä.
      ISDN-alijärjestelmä, AX.25-, CAIF- ja Bluetooth CMTP (Common ISDN Application Programming Interface Message Transport Protocol) -protokollien toteutukset, yellowfin (Yellowfin Gigabit-NIC), hamachi (Hamachi GNIC-II), hamradio (Amateur Radio), inport ja logibm (busmouse) -ajurit poistettiin. Poiston syynä oli aktiivisten ylläpitäjien puute syzbotin ja tekoälytyökalujen tunnistamien virheiden määrän kasvun keskellä, joita kukaan ei ollut halukas korjaamaan. Näin ollen vakavien ongelmien korjaamisen koko taakka jäi ytimen ydinverkkojärjestelmien ylläpitäjille. Yhteensä yli 140 000 koodiriviä poistettiin.

Lähde: opennet.ru

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster