A Linux 7.0 már készül a Rust + LTO kernel felépítés javítására

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

Alice Ryhl a Google-tól a Linux kernel Rust támogatásához kapcsolódóan dolgozik egy fontos fejlesztésen: a C segédfüggvények inline-olásán Rust kódba Link-Time Optimized (LTO) kernel build esetén. A javítások egy része a Linux 6.20~7.0 fejlesztési ciklus során kerülhet be, elősegítve a Rust kernel támogatás és az LLVM/Clang LTO képességeinek kombinált használatát a nagyobb teljesítmény érdekében.

Hogyan működik a fejlesztés

  • Minden Rust segédfüggvényhez hozzáadnak egy __rust_helper annotációt.
    • Ez szükséges, mert a C segédfüggvények LTO mellett nem inline-olhatók Rust kódba a LLVM kódgenerálási beállításai miatt.
  • LTO használatakor a __always_inline attribútum kerül hozzáadásra ezekhez a segédfüggvényekhez, kivéve a bindgen futtatásakor, hogy elkerüljék az inline-jelölés figyelmen kívül hagyását.
  • Összesen 46 patch készült, amelyek a kernel különböző részein alkalmazzák ezt az annotációt. A patch-eket nem kell egyszerre elfogadni, a különböző subszisztémák karbantartóira van bízva a beolvasztásuk.

Elérhetőség és további lépések

  • A patch-ek a vfs-7.0.rust Git ágon találhatók a VFS.git-ben, és itt már végrehajtották a C segédfüggvények inline-olását Rust kódba.
  • A teljes sorozat elfogadása a különböző ágon még folyamatban van, és nem biztos, hogy az összes patch beépül a következő kernel ciklusra.
  • Egy külön patch fogja kezelni a __rust_helper működésének összekapcsolását a kernel build folyamatával.

Teljesítmény előnyök

Az LTO-val épített Linux kernel LLVM/Clang használatával szignifikáns teljesítménynövekedést biztosít bizonyos helyzetekben. A Phoronix friss tesztjei is alátámasztják, hogy a Link-Time Optimization érdemben gyorsíthatja a kernel futását, különösen a Rust segédfüggvények és C-Rust hívások optimalizálásánál.

Ez a fejlesztés a Rust kernel támogatás számára mérföldkő lehet, különösen azoknak, akik LTO-t használó Clang/LLVM eszközlánccal építik a Linux kernelt a jövőben.