Linux 6.1 prihaja z Rustom, izboljšavami zmogljivosti, gonilniki in še več

Linux Kernel

Linux Kernel

Po dveh mesecih razvoja, Linus Torvalds je napovedal izdajo nove različice jedra Linux 6.1, v katerem so med najbolj opaznimi spremembami: podpora za razvoj gonilnikov in modulov v jeziku Rust, posodobitev mehanizma za določanje uporabljenih pomnilniških strani, poseben upravljalnik pomnilnika za programe BPF, sistem za diagnostiko težav pomnilnika KMSAN, zaščitni mehanizem KCFI (Kernel Control -Flow Integrity), uvedba drevesne strukture maple.

Nova različica prejel 15115 popravkov od 2139 razvijalcev, je velikost popravka 51 MB, kar je približno 2-krat manj od velikosti popravkov jedra 6.0 in 5.19.

Glavne novosti Linuxa 6.1

V tej novi različici jedra, ki je predstavljena, lahko to najdemo dodana možnost uporabe Rust kot drugega jezika za razvoj gonilnikov in modulov jedra. Glavni razlog za podporo Rustu je olajšati pisanje visokokakovostnih in varnih gonilnikov naprav z zmanjšanjem možnosti napak v pomnilniku.

Podpora za Rust je privzeto onemogočena in ne povzroči, da bi bil Rust vključen kot zahtevana odvisnost gradnje jedra. Doslej je jedro sprejelo skrajšano, minimalno različico popravkov, ki je bila zmanjšana s 40 na 13 vrstic kode in zagotavlja le minimum, ki je dovolj za izdelavo preprostega modula jedra, napisanega v Rustu.

V prihodnosti, je predvideno postopno povečevanje obstoječe funkcionalnosti, prenos drugih sprememb iz veje Rust-for-Linux. Vzporedno se razvijajo projekti za uporabo predlagane infrastrukture za razvoj diskovnih krmilnikov NVMe, omrežnega protokola 9p in grafičnega procesorja Apple M1 na Rust.

Druga pomembna sprememba je v AArch64, RISC-V in LoongArch z EFI, kjer je implementirana možnost neposrednega nalaganja stisnjenih slik jedras, poleg tega so dodali gonilniki za nalaganje, izvajanje in prenos slik jedra, poklican neposredno iz EFI zboot.

Dodani so bili tudi gonilniki za nameščanje in odstranjevanje protokolov iz baze protokolov EFI. Prej je razpakiranje izvajal ločen zagonski nalagalnik, zdaj pa ga lahko izvede gonilnik v samem jedru: slika jedra je zgrajena kot aplikacija EFI.

del obližev je bil sprejet z implementacijo modela upravljanja pomnilnika različnih stopnjah, ki omogoča ločene pomnilniške banke z različnimi karakteristikami delovanja. Na primer, pogosto uporabljene strani so lahko shranjene v najhitrejšem pomnilniku, medtem ko so manj pogosto uporabljene strani lahko shranjene v relativno počasnem pomnilniku. Jedro 6.1 sprejme mehanizem za ugotavljanje, ali so zelo rabljene strani v počasnem pomnilniku, da jih premakne v hiter pomnilnik, in izvaja splošni koncept pomnilniških nivojev in njihovo relativno zmogljivost.

Poleg tega lahko ugotovimo tudi to je podsistemu BPF dodal možnost ustvarjanja "destruktivnih" programov BPF posebej zasnovan za sprožitev zrušitve prek klica crash_kexec(). Takšni programi BPF bodo morda potrebni za namene odpravljanja napak, da ob določenem času sprožijo ustvarjanje izpisa pomnilnika. Dostop do destruktivnih operacij pri nalaganju programa BPF zahteva, da je navedena zastavica BPF_F_DESTRUCTIVE, nastavljen sysctl kernel.destructive_bpf_enabled in nastavljene pravice CAP_SYS_BOOT.

so bili narejenio Pomembne optimizacije zmogljivosti datotečnega sistema BtrfsMed drugim se je zmogljivost operacij fiemap in lseek povečala za velikostne rede (preverjanje razširitev v skupni rabi je bilo pospešeno 2-3-krat in spreminjanje položaja v datotekah je bilo pospešeno za 1.3-4-krat). tudi pospešil beleženje inode za imenike (25-odstotno povečanje zmogljivosti in 21-odstotno zmanjšanje zakasnitve v dbenchu), medpomnilnik V/I je bil izboljšan in poraba pomnilnika je bila zmanjšana.

Ext4 dodaja optimizacijo delovanja povezano z beleženjem in operacijo samo za branje, odstranjena podpora za zastarele atribute noacl in nouser_xattr, tudi v EROFS (izboljšan datotečni sistem samo za branje), zasnovan za uporabo na particijah samo za branje, izvaja možnost shranjevanja nabora podvojenih podatkov v drugo datoteko sistemi.

Od druge izstopajoče spremembe:

  • Dodana podpora za zvočne podsisteme, implementirane v procesorje Apple Silicon, Intel SkyLake in Intel KabyLake.
  • Avdio krmilnik HDA CS35L41 podpira način mirovanja.
  • Dodana podpora za krmilnike AHCI SATA, ki se uporabljajo v SoC Baikal-T1.
  • Dodana podpora za čipe Bluetooth MediaTek MT7921, Intel Magnetor (CNVi, integrirana povezljivost), Realtek RTL8852C, RTW8852AE in RTL8761BUV (Edimax BT-8500).
  • Dodani gonilniki za PinePhone Keyboard, InterTouch Touchpads (ThinkPad P1 G3), X-Box Adaptive Controller, PhoenixRC Flight Controller, VRC-2 Car Controller, DualSense Edge Controller, IBM Operation Panels, XBOX One Elite, XP-PEN Deco Pro S Tablets in Intuos Pro small (PTH-460).
  • Dodan gonilnik za kriptografske pospeševalnike Aspeed HACE (Hash and Crypto Engine).
  • Dodana podpora za integrirane krmilnike Intel Meteor Lake Thunderbolt/USB4.
  • Dodana podpora za pametne telefone Sony Xperia 1 IV, Samsung Galaxy E5, E7 in Grand Max, Pine64 Pinephone Pro.
  • ARM SoC, združljiv z AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 in RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQ8062, IPQ8062 /BL i.MX8MM OSM-S , MT8195 (Acer Tomato), Radxa ROCK 4C+, NanoPi R4S Enterprise Edition, JetHome JetHub D1p. Informacije o SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom in NXP.

Nazadnje, če vas zanima več o tem, se lahko posvetujete s podrobnostmi V naslednji povezavi.