Rust For Linux 7.1: kísérleti opció érkezik a jobb teljesítményért

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

Emelik a Linux kernel által megkövetelt minimális Rust verziót. A korábbi 1.78 helyett mostantól a Rust 1.85 lesz az új alap a Rust-for-Linux támogatáshoz. Emellett a Bindgen 0.71.1 is kötelezővé válik, a korábbi kernelkban használt 0.65.1 helyett.

A Rust és a Bindgen verziók igazodnak a jelenlegi Debian stabil kiadás, a tavaly augusztusban megjelent Debian Trixie csomagjaihoz. Mivel a Debian stabil általában konzervatívabb verziókat szállít, az újabb Ubuntu / Fedora / openSUSE / egyéb disztribúciók gond nélkül teljesítik, sőt többnyire meg is haladják az új Rust alapkövetelményeket a kernel fordításához.

A másik fontos Rust újdonság a Linux 7.1-ben az új "CONFIG_Rust_INLINE_HELPERS" Kconfig opció, amely a C segédfüggvények inline-olását teszi lehetővé Rust kódba. A folyamat hasonlít a link-time optimalizációhoz (LTO), de csak a C segédfüggvényekre korlátozódik. A CONFIG_Rust_INLINE_HELPERS opció mérhető gyorsulást hoz különböző terhelések alatt; példaként a Rust null block driver körülbelül 2%-kal gyorsabb lett, ha bekapcsolják ezt az opciót.

A C segédfüggvények Rust kódba való inline-olása feltételezi, hogy a Linux kernel C fordítója LLVM Clang legyen, ne pedig GCC. Emellett a Clang LLVM főverziójának egyeznie kell a Rust fordító verziójával. Ennek oka, hogy az LLVM IR szinten kell összelinkelni a C segédfüggvények LLVM IR-jét a Rust kóddal, még az objektumkód generálása előtt. A CONFIG_Rust_INLINE_HELPERS megoldás gond nélkül működik betölthető kernel modulok esetén is.

A Linux 7.1-hez készült Rust kód támogatja a globális, verziónkénti flag-eket, tartalmaz fejlesztéseket a kernel crate-ben, Rust analyzer fejlesztéseket, valamint számos egyéb módosítást. A Linux 7.1-hez kapcsolódó Rust funkciók teljes listája itt érhető el: ebben a beolvasztási kérelemben.