Dumating ang Linux 6.1 kasama ang Rust, mga pagpapahusay sa pagganap, mga driver at higit pa

Linux Kernel

Linux Kernel

Pagkatapos ng dalawang buwan ng pag-unlad, Inihayag ni Linus Torvalds ang paglabas ng bagong bersyon ng Linux 6.1 kernel, kung saan kabilang sa mga pinaka-kapansin-pansing pagbabago: suporta para sa pagbuo ng mga driver at module sa Rust na wika, modernisasyon ng mekanismo para sa pagtukoy ng ginamit na mga pahina ng memorya, isang espesyal na tagapamahala ng memorya para sa mga programa ng BPF, ang diagnostic system ng mga problema ng memorya ng KMSAN, ang mekanismo ng proteksyon ng KCFI (Kernel Control -Flow Integrity), ang pagpapakilala ng maple structure tree.

Ang bagong bersyon nakatanggap ng 15115 mga pag-aayos mula sa 2139 na mga developer, ang laki ng patch ay 51 MB, na halos 2 beses na mas mababa kaysa sa laki ng 6.0 at 5.19 na mga kernel patch.

Pangunahing mga bagong tampok ng Linux 6.1

Sa bagong bersyong ito ng Kernel na ipinakita, mahahanap natin iyon nagdagdag ng kakayahang gamitin ang Rust bilang pangalawang wika upang bumuo ng mga driver at kernel module. Ang pangunahing dahilan sa likod ng pagsuporta sa Rust ay upang gawing mas madali ang pagsulat ng mataas na kalidad, ligtas na mga driver ng device sa pamamagitan ng pagbabawas ng mga pagkakataon ng mga error sa memorya.

Ang suporta sa kalawang ay hindi pinagana bilang default at hindi nagiging sanhi ng Rust na maisama bilang isang kinakailangang kernel build dependency. Sa ngayon, ang kernel ay nagpatibay ng isang stripped-down, minimal na bersyon ng patch, na binawasan mula 40 hanggang 13 linya ng code at nagbibigay lamang ng pinakamababa, sapat na upang bumuo ng isang simpleng kernel module na nakasulat sa Rust.

Sa hinaharap, ito ay binalak na unti-unting taasan ang umiiral na pag-andar, pag-port ng iba pang mga pagbabago mula sa sangay ng Rust-for-Linux. Kasabay nito, ang mga proyekto ay binuo upang gamitin ang iminungkahing imprastraktura upang bumuo ng NVMe disk controllers, ang 9p network protocol, at ang Apple M1 GPU sa Rust.

Ang isa pang kapansin-pansing pagbabago ay nasa AArch64, RISC-V, at LoongArch na may EFI, kung saan ipinapatupad ang kakayahang direktang mag-load ng mga naka-compress na kernel na imahes, bukod doon ay idinagdag nila mga driver para sa paglo-load, pagpapatakbo, at pag-download ng mga imahe ng kernel, direktang tumawag mula sa EFI zboot.

Ang mga driver para sa pag-install at pag-alis ng mga protocol mula sa EFI protocol database ay naidagdag din. Noong nakaraan, ang pag-unpack ay ginawa ng isang hiwalay na bootloader, ngunit ngayon ay maaari itong gawin ng isang driver sa kernel mismo: ang imahe ng kernel ay binuo bilang isang EFI application.

bahagi ng mga patch ay pinagtibay sa pagpapatupad ng isang modelo ng pamamahala ng memorya ng iba't ibang antas na nagbibigay-daan sa hiwalay na mga bangko ng memorya na may iba't ibang katangian ng pagganap. Halimbawa, ang mga madalas na ginagamit na pahina ay maaaring maimbak sa pinakamabilis na memorya, habang ang mga hindi gaanong madalas na ginagamit na mga pahina ay maaaring maiimbak sa medyo mabagal na memorya. Gumagamit ang 6.1 kernel ng isang mekanismo upang matukoy kung ang mga pahinang madalas ginagamit ay nasa mabagal na memorya upang ilipat ang mga ito sa mabilis na memorya, at ipinapatupad ang pangkalahatang konsepto ng mga tier ng memorya at ang kanilang kaugnay na pagganap.

Bilang karagdagan dito, mahahanap din natin iyon idinagdag sa subsystem ng BPF ang kakayahang lumikha ng "mapanirang" mga programa ng BPF partikular na idinisenyo upang mag-trigger ng pag-crash sa pamamagitan ng crash_kexec() na tawag. Maaaring kailanganin ang mga naturang BPF program para sa mga layunin ng pag-debug upang ma-trigger ang paglikha ng memory dump sa isang partikular na oras. Ang pag-access sa mga mapanirang operasyon kapag naglo-load ng isang BPF program ay nangangailangan ng BPF_F_DESTRUCTIVE flag na tinukoy, sysctl kernel.destructive_bpf_enabled na itakda, at CAP_SYS_BOOT na karapatan na itakda.

nagawa nao Mga makabuluhang pag-optimize ng pagganap sa Btrfs filesystemSa iba pang mga bagay, ang pagganap ng mga operasyon ng fiemap at lseek ay tumaas ng mga order ng magnitude (ang pagsuri para sa mga nakabahaging extension ay binilisan ng 2-3 beses at ang pagbabago ng posisyon sa mga file ay pinabilis ng 1.3-4 na beses) . Gayundin, pinabilis ang inode journaling para sa mga direktoryo (25% pagtaas ng performance at 21% latency reduction sa dbench), buffered I/O ay napabuti at memory consumption ay nabawasan.

Nagdaragdag ang Ext4 ng mga pag-optimize sa pagganap nauugnay sa pag-journal at read-only na operasyon, inalis ang suporta para sa mga hindi na ginagamit na noacl at nouser_xattr na mga katangian, gayundin sa EROFS (Enhanced Read-Only File System), na idinisenyo para gamitin sa read-only na mga partisyon, ipinapatupad ang posibilidad na Storage set ng duplicate na data sa iba't ibang file mga sistema.

Ng iba pang mga pagbabago na namumukod-tangi:

  • Nagdagdag ng suporta para sa mga audio subsystem na ipinatupad sa mga processor ng Apple Silicon, Intel SkyLake, at Intel KabyLake.
  • Sinusuportahan ng HDA CS35L41 audio controller ang sleep mode.
  • Nagdagdag ng suporta para sa AHCI SATA controllers na ginagamit sa Baikal-T1 SoC.
  • Nagdagdag ng suporta para sa mga Bluetooth chip na MediaTek MT7921, Intel Magnetor (CNVi, integrated connectivity), Realtek RTL8852C, RTW8852AE, at RTL8761BUV (Edimax BT-8500).
  • Nagdagdag ng mga driver para sa 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 at Intuos Pro maliit (PTH-460).
  • Nagdagdag ng driver para sa Aspeed HACE (Hash at Crypto Engine) na mga cryptographic accelerators.
  • Nagdagdag ng suporta para sa pinagsama-samang Intel Meteor Lake Thunderbolt/USB4 controllers.
  • Nagdagdag ng suporta para sa Sony Xperia 1 IV, Samsung Galaxy E5, E7 at Grand Max, Pine64 Pinephone Pro na mga smartphone.
  • ARM SoC compatible sa AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 at RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQ8062, IPSMQ8062MM iBL , MT8 (Acer Tomato), Radxa ROCK 8195C+, NanoPi R4S Enterprise Edition, JetHome JetHub D4p. Impormasyon tungkol sa SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom at NXP.

Panghuli, kung interesado kang malaman ang tungkol dito, maaari kang kumunsulta sa mga detalye Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.