Rilaxx tal-kernel Linux 6.1

Wara xahrejn ta 'żvilupp, Linus Torvalds ippreżenta r-rilaxx tal-kernel Linux 6.1. Fost l-aktar bidliet notevoli: appoġġ għall-iżvilupp ta 'sewwieqa u moduli fil-lingwa Rust, modernizzazzjoni tal-mekkaniżmu għad-determinazzjoni tal-paġni tal-memorja użati, maniġer tal-memorja speċjali għall-programmi BPF, sistema għad-dijanjosi tal-problemi tal-memorja KMSAN, il-KCFI (Kernelk Control -Flow Integrity) mekkaniżmu ta 'protezzjoni, l-introduzzjoni tas-siġra ta' l-istruttura Maple.

Il-verżjoni l-ġdida tinkludi 15115 tiffissa minn 2139 żviluppatur, id-daqs tal-garża huwa 51 MB, li huwa madwar 2 darbiet iżgħar mid-daqs tal-garża mill-qlub 6.0 u 5.19. Il-bidliet affettwaw 13165 fajl, ġew miżjuda 716247 linja ta 'kodiċi, u 304560 linja tħassru. Madwar 45% tal-bidliet kollha introdotti f'6.1 huma relatati mas-sewwieqa tal-apparat, madwar 14% tal-bidliet huma relatati mal-aġġornament tal-kodiċi speċifiku għall-arkitetturi tal-ħardwer, 14% huma relatati mal-munzell tan-netwerk, 3% huma relatati mas-sistemi tal-fajls, u 3% huma relatati mas-subsistemi interni tal-qalba.

Innovazzjonijiet ewlenin fil-qalba 6.1:

  • Servizzi ta' memorja u sistema
    • Żid il-ħila li tuża Rust bħala t-tieni lingwa għall-iżvilupp ta' sewwieqa u moduli tal-kernel. Ir-raġuni ewlenija għall-appoġġ ta 'Rut hija li tagħmilha aktar faċli biex tikteb sewwieqa ta' apparati sikuri u ta 'kwalità għolja billi titnaqqas il-probabbiltà li jsiru żbalji meta taħdem bil-memorja. L-appoġġ għas-sadid huwa diżattivat awtomatikament u ma jirriżultax li Rust jiġi inkluż bħala dipendenza meħtieġa tal-bini tal-kernel. Il-qalba s'issa adotta verżjoni minima u mqaxxra tal-garża, li tnaqqset minn 40 għal 13-il elf linja ta 'kodiċi u tipprovdi biss il-minimu meħtieġ, biżżejjed biex jinbena modulu tal-qalba sempliċi miktub fil-lingwa Rust. Fil-futur, huwa ppjanat li tiżdied gradwalment il-funzjonalità eżistenti, it-trasferiment ta 'bidliet oħra mill-fergħa Rust-for-Linux. B'mod parallel, qed jiġu żviluppati proġetti biex tintuża l-infrastruttura proposta biex jiġu żviluppati sewwieqa għal drives NVMe, il-protokoll tan-netwerk 9p u l-GPU Apple M1 fil-lingwa Rust.
    • Għal sistemi bbażati fuq arkitetturi AArch64, RISC-V u LoongArch b'EFI, ġiet implimentata l-abbiltà li tgħabbi direttament immaġini kkompressati tal-qalba. Miżjud handlers għat-tagħbija, it-tħaddim u l-ħatt ta' immaġini tal-qalba, imsejħa direttament minn EFI zboot. Ġew miżjuda wkoll handlers għall-installazzjoni u t-tħassir ta' protokolli mid-database tal-protokoll EFI. Preċedentement, l-ispakkjar kien jitwettaq minn bootloader separat, iżda issa dan jista 'jsir minn handler fil-kernel innifsu - l-immaġni tal-kernel hija ffurmata bħala applikazzjoni EFI.
    • Il-kompożizzjoni tinkludi parti mill-irqajja bl-implimentazzjoni ta 'mudell ta' ġestjoni tal-memorja b'ħafna livelli, li jippermettilek tissepara banek tal-memorja b'karatteristiċi ta 'prestazzjoni differenti. Pereżempju, il-paġni li jintużaw l-aktar jistgħu jinħażnu fl-aktar memorja mgħaġġla, filwaqt li l-paġni l-aktar użati rari jistgħu jinħażnu f'memorja relattivament bil-mod. Kernel 6.1 jintroduċi mekkaniżmu biex jiddetermina fejn jinsabu paġni użati ħafna f'memorja bil-mod sabiex ikunu jistgħu jiġu promossi għal memorja mgħaġġla, u jintroduċi wkoll kunċett ġenerali ta 'saffi tal-memorja u l-prestazzjoni relattiva tagħhom.
    • Jinkludi l-mekkaniżmu MGLRU (Multi-Generational LRU), li jissostitwixxi l-implimentazzjoni l-antika tal-LRU (Least Recently Used) ibbażata fuq żewġ kjuwijiet bi struttura f'diversi stadji li tiddetermina aħjar liema paġni tal-memorja qed jintużaw fil-fatt u liema jistgħu jiġu mbuttati 'l barra lejn il-partizzjoni swap.
    • Appoġġ miżjud għall-istruttura tad-dejta "siġra tal-aġġru" proposta mill-inġiniera tal-Oracle, li hija pożizzjonata bħala sostitut aktar effettiv għall-istruttura "siġra ħamra-iswed". Siġra ta 'l-aġġru hija varjant ta' siġra B li tappoġġja l-indiċjar tal-firxa u hija mfassla biex tagħmel użu effiċjenti mill-cache ta 'proċessuri moderni. Xi sottosistemi ta 'ġestjoni tal-memorja diġà ġew trasferiti għal siġra tal-aġġru, li kellha effett pożittiv fuq il-prestazzjoni tagħhom. Fil-futur, siġra tal-aġġru tista 'tintuża biex timplimenta l-illokkjar tal-firxa.
    • Il-ħila li jinħolqu programmi BPF “distruttivi” iddisinjati apposta biex jibdew għeluq ta’ emerġenza permezz tas-sejħa crash_kexec() ġiet miżjuda mas-subsistema BPF. Programmi BPF bħal dawn jistgħu jkunu meħtieġa għal skopijiet ta' debugging biex jibdew il-ħolqien ta' crash dump f'ċertu punt fil-ħin. Biex taċċessa operazzjonijiet distruttivi meta tgħabbi programm BPF, trid tispeċifika l-bandiera BPF_F_DESTRUCTIVE, tattiva sysctl kernel.destructive_bpf_enabled, u jkollok drittijiet CAP_SYS_BOOT.
    • Għall-programmi BPF, huwa possibbli li jiġu enumerati l-elementi cgroup, kif ukoll jiġu enumerati r-riżorsi (fajls, vma, proċessi, eċċ.) ta 'ħajt jew kompitu speċifiku. Tip ta' mappa ġdid ġie implimentat biex jinħolqu buffers taċ-ċirku tal-utenti.
    • Żiedet sejħa speċjali għall-allokazzjoni tal-memorja fi programmi BPF (allocatur tal-memorja), li tipprovdi allokazzjoni ta 'memorja aktar sigura fil-kuntest tal-BPF mill-kmalloc() standard.
    • L-ewwel parti tal-bidliet ġiet integrata, li tipprovdi l-abbiltà li jinħolqu sewwieqa għal apparati ta 'input b'interface HID (Apparat tal-Interfaċċa Umana), implimentata fil-forma ta' programmi BPF.
    • Il-qalba neħħa kompletament il-kodiċi biex jappoġġja l-format tal-fajl eżekutibbli a.out, li kien deprecated fir-rilaxx 5.1 u ġie diżattivat għal arkitetturi ewlenin mill-verżjonijiet 5.18 u 5.19. Il-format a.out ilu deprecated fuq sistemi Linux, u l-ġenerazzjoni ta 'fajls a.out mhijiex appoġġjata minn għodod moderni f'konfigurazzjonijiet Linux default. Il-loader għall-fajls a.out jista 'jiġi implimentat għal kollox fl-ispazju tal-utent.
    • Għal sistemi bbażati fuq l-arkitettura tas-sett ta 'struzzjonijiet LoongArch użata fil-proċessuri Loongson 3 5000 u li jimplimentaw il-RISC ISA il-ġdid, simili għal MIPS u RISC-V, appoġġ għall-avvenimenti ta' kejl tal-prestazzjoni (avvenimenti perf), kexec, kdump u kumpilazzjoni JIT BPF huwa implimentat .
    • L-interface I/O asinkroniku io_uring joffri mod ġdid, IORING_SETUP_DEFER_TASKRUN, li jippermetti li xogħol relatat mal-buffer taċ-ċirku jiġi differit temporanjament sakemm issir talba għall-applikazzjoni, li tista 'tintuża biex taħdem f'lott u tevita kwistjonijiet ta' latenza minħabba applikazzjonijiet ta 'preemption ħin ħażin.
    • Il-proċessi fl-ispazju tal-utent jingħataw il-kapaċità li jibdew konverżjoni ta 'firxa ta' paġni tal-memorja normali f'sett ta 'paġni kbar tal-memorja (Transparent Huge-Pages).
    • Implimentazzjoni miżjuda tal-apparat /dev/userfaultfd, li jippermetti aċċess għall-funzjonalità tas-sejħa tas-sistema userfaultfd() bl-użu tad-drittijiet ta 'aċċess fl-FS. Il-funzjonalità userfaultfd tippermettilek toħloq handlers biex taċċessa paġni tal-memorja mhux allokati (ħsarat fil-paġna) fl-ispazju tal-utent.
    • Ir-rekwiżiti għall-verżjoni tal-utilità GNU Make żdiedu - mill-inqas il-verżjoni 3.82 issa hija meħtieġa biex tinbena l-kernel.
  • Sottosistema tad-disk, I/O u sistemi ta' fajls
    • Saru ottimizzazzjonijiet sinifikanti tal-prestazzjoni lis-sistema tal-fajls Btrfs fost affarijiet oħra, il-prestazzjoni tas-sejħa FIEMAP ioctl żdiedet b'ordnijiet ta 'kobor; Appoġġ miżjud għal kitba buffered mhux sinkroniku għall-applikazzjonijiet li jużaw io_uring. Appoġġ miżjud għall-fajls protetti b'fs-verity għall-operazzjoni "ibgħat".
    • Is-sistema tal-fajls ext4 żiedet ottimizzazzjonijiet tal-prestazzjoni relatati mal-manutenzjoni tal-ġurnal u l-operat tal-qari biss.
    • Is-sistema tal-fajls EROFS (Enhanced Read-Only File System), iddisinjata għall-użu fuq diviżorji aċċessibbli fil-modalità ta 'qari biss, timplimenta l-abbiltà li taqsam dejta duplikata f'sistemi ta' fajls differenti.
    • Is-sejħa tas-sistema statx() ġiet miżjuda biex turi informazzjoni dwar jekk I/O dirett jistax jiġi applikat għal fajl.
    • L-appoġġ għall-ħolqien ta' fajls temporanji bil-bandiera O_TMPFILE ġie miżjud mas-subsistema FUSE (Filesystems in User Space).
  • Virtualization u Sigurtà
    • L-implimentazzjoni tal-mekkaniżmu ta’ protezzjoni tas-CFI (Integrità tal-Fluss ta’ Kontroll) ġiet sostitwita, billi żiedet kontrolli qabel kull sejħa indiretta ta’ funzjoni biex jinstabu xi forom ta’ mġieba mhux definita li potenzjalment tista’ twassal għal ksur tal-ordni ta’ eżekuzzjoni normali (fluss ta’ kontroll) bħala a. riżultat ta 'l-użu ta' jisfrutta li jibdlu pointers għal funzjonijiet maħżuna fil-memorja. L-implimentazzjoni standard ta 'CFI mill-proġett LLVM ġiet sostitwita b'għażla bbażata wkoll fuq l-użu ta' Clang, iżda adattata apposta biex tipproteġi sottosistemi ta 'livell baxx u kernels tas-sistema operattiva. F'LLVM, se tiġi offruta implimentazzjoni ġdida fir-rilaxx ta' Clang 16 u se tkun attivata bl-għażla "-fsanitize=kcfi". Id-differenza ewlenija bl-implimentazzjoni l-ġdida hija li mhix marbuta ma 'ottimizzazzjonijiet tal-ħin tal-link (LTO) u ma tirriżultax f'pointers tal-funzjoni li jiġu sostitwiti b'links fit-tabella tal-qabża.
    • Għal moduli LSM (Linux Security Module), huwa possibbli li jinħolqu handlers li jinterċettaw operazzjonijiet biex joħolqu namespaces.
    • Għodod huma pprovduti għall-verifika tal-firem diġitali PKCS#7 fil-programmi BPF.
    • L-abbiltà li tinfetaħ f'modalità mhux imblukkata (O_NONBLOCK), li tneħħiet b'mod involontarju fil-kernel 5.6, ġiet lura għal /dev/random.
    • Fuq sistemi b'arkitettura x86, ġiet miżjuda twissija fil-każ ta 'mapping ta' paġni tal-memorja minn sottosistemi tal-kernel li simultanjament jippermettu l-eżekuzzjoni u l-kitba. Fil-futur, qed tiġi kkunsidrata l-possibbiltà li jiġi pprojbit kompletament tali mapping tal-memorja.
    • Miżjud mekkaniżmu ta' debugging KMSAN (Kernel Memory Sanitizer) biex jikxef l-użu tal-memorja mhux inizjali fil-qalba, kif ukoll tnixxijiet tal-memorja mhux inizjali bejn l-ispazju tal-utent u l-apparati.
    • Sar titjib fil-ġeneratur tan-numru psewdo-random CRNG kripto-sigur użat fis-sejħa getrandom. Il-bidliet tħejjew minn Jason A. Donenfeld, awtur ta 'VPN WireGuard, u huma mmirati biex itejbu s-sigurtà tal-estrazzjoni psewdo-random ta' numru sħiħ.
  • Subsistema tan-netwerk
    • Il-munzell TCP jipprovdi l-abbiltà (diżattivat b'mod awtomatiku) li juża socket hash tables separatament għal kull namespace, li jtejjeb il-prestazzjoni fuq sistemi b'numru kbir ta 'namespaces.
    • Tneħħiet il-kodiċi biex tappoġġja l-protokoll DECnet tal-legat. Stubs tal-API tal-ispazju tal-utent jitħallew f'posthom biex jippermettu li jiġu kkompilati applikazzjonijiet li jużaw DECnet, iżda dawn l-applikazzjonijiet mhux se jkunu jistgħu jikkonnettjaw man-netwerk.
    • Il-protokoll netlink huwa dokumentat.
  • Оборудование
    • Is-sewwieq amdgpu żied appoġġ għal DSC (Display Stream Compression) twassil għall-kompressjoni tad-dejta mingħajr telf meta jiskambja informazzjoni ma 'skrins li jappoġġjaw riżoluzzjonijiet għoljin ħafna. Ikompli x-xogħol biex jipprovdi appoġġ għall-pjattaformi AMD RDNA3 (RX 7000) u CDNA (Instinct). Appoġġ miżjud għall-komponenti DCN 3.2, SMU 13.x, NBIO 7.7, GC 11.x, PSP 13.x, SDMA 6.x u GMC 11.x IP. Is-sewwieq amdkfd (għal GPUs AMD diskreti bħal Polaris) jipprovdi appoġġ għal GFX 11.0.3.
    • Is-sewwieq i915 (Intel) jinkludi appoġġ għall-GPU Meteor Lake. Meteor Lake u GPUs ġodda jappoġġjaw l-interface DP 2.0 (DisplayPort). Miżjuda identifikaturi għall-kards tal-vidjo bbażati fuq il-mikroarkitettura Alder Lake S.
    • Appoġġ miżjud għal sottosistemi awdjo implimentati fil-proċessuri Apple Silicon, Intel SkyLake u Intel KabyLake. Is-sewwieq tal-awdjo CS35L41 HDA jappoġġja l-modalità sleep. Miżjud appoġġ ASoC (ALSA System on Chip) għal ċipep tal-awdjo integrat Apple Silicon, AMD Rembrant DSPs, AMD Pink Sardine ACP 6.2, Everest ES8326, Intel Sky Lake u Kaby Lake, Mediatek MT8186, NXP i.MX8ULP DSPs, Qualcomm SC8280XP, SM8250 SM8450 u Texas Instruments SRC4392
    • Appoġġ miżjud għall-pannelli LCD Samsung LTL101AL01, B120XAN01.0, R140NWF5 RH, Densitron DMT028VGHMCMI-1A TFT, AUO B133UAN02.1, IVO M133NW4J-R3, Innolux N120ACA-WH1N -B116ACA-WH01.6 116, INX N21BCA-EA116 , INX N2BCN-EA116, Teknoloġija Multi-Inno MI1FT-0800.
    • Appoġġ miżjud għall-kontrolluri AHCI SATA użati fis-SoC Baikal-T1.
    • Appoġġ miżjud għal ċipep Bluetooth MediaTek MT7921, Intel Magnetor (CNVi, Konnettività Integrata), Realtek RTL8852C, RTW8852AE u RTL8761BUV (Edimax BT-8500).
    • Is-sewwieq ath11k għall-moduli mingħajr fili Qualcomm żied appoġġ għall-iskannjar spettrali fil-medda ta '160 MHz, implimenta NAPI multi-threaded, u appoġġ imtejjeb għaċ-ċipep Wi-Fi Qualcomm WCN6750.
    • Sewwieqa miżjuda għat-tastiera PinePhone, touchpads InterTouch (ThinkPad P1 G3), X-Box Adaptive Controller, PhoenixRC Flight Controller, VRC-2 Car Controller, DualSense Edge Controller, IBM Operation Panel, XBOX One Elite remotes, pilloli XP-PEN Deco Pro S u Intuos Pro Small (PTH-460).
    • Sewwieq miżjud għall-aċċeleraturi kriptografiċi Aspeed HACE (Hash and Crypto Engine).
    • Appoġġ miżjud għall-kontrolluri Thunderbolt/USB4 Intel Meteor Lake integrati.
    • Appoġġ miżjud għal smartphones Sony Xperia 1 IV, Samsung Galaxy E5, E7 u Grand Max, Pine64 Pinephone Pro.
    • Appoġġ miżjud għal ARM SoC u bordijiet: AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 u RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQ8062, IPQ8065, IPQ8 BL i.MX8195MM OSM-S, MT4 (Acer Tomato), Radxa ROCK 4C+, NanoPi R1S Enterprise Edition, JetHome JetHub DXNUMXp. Sewwieqa aġġornati għal SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom u NXP.

Fl-istess ħin, il-Fondazzjoni tas-Software Ħieles tal-Amerika Latina ffurmat verżjoni tal-qalba kompletament ħielsa 6.1 - Linux-libre 6.1-gnu, imneħħija minn elementi ta 'firmware u sewwieqa li fihom komponenti mhux ħielsa jew sezzjonijiet ta' kodiċi, li l-ambitu tagħhom huwa limitat mill-manifattur. Ir-rilaxx il-ġdid inaddaf is-sewwieq rtw8852b il-ġdid u l-fajls DTS għal diversi SoCs Qualcomm u MediaTek bi proċessuri bbażati fuq l-arkitettura AArch64. Kodiċi aġġornat tat-tindif blob fis-sewwieqa u s-sottosistemi amdgpu, i915, brcmfmac, r8188eu, rtw8852c, Intel ACPI. It-tindif ta’ sewwieqa skaduti tm6000 TV cards, cpia2 v4l, sp8870, av7110 ġie kkoreġut.

Sors: opennet.ru

Żid kumment