Linux-Kernel-Entwickler bereiten sich auf das erste Upgrade ihrer Rust-Toolchain vor, seit der Rust-Code ursprünglich in Linux 6.1 zusammengeführt wurde.
Der Code, der ursprünglich in Linux 6.1 zurückgeführt wurde und bis heute andauert, zielt auf Rust 1.62 ab, während ein Upgrade auf die aktuell neueste stabile Version, Rust 1.68.2, geplant ist.
Was dieses große Upgrade des Rust-Codes im Mainline-Linux-Kernel betrifft, erklärt die Patch-Nachricht von Miguel Ojeda:
“Der Kernel unterstützt derzeit nur eine einzelne Rust-Version (eher als ein Minimum), da wir einige”instabile”Rust-Features verwenden, die keine Abwärtskompatibilität versprechen.
Das Ziel ist es, einen Punkt zu erreichen, an dem wir eine minimale Version für die Toolchain deklarieren können. Zum Beispiel durch Warten auf einige der zu stabilisierenden Funktionen. Daher ist die erste minimale Rust-Version, die der Kernel unterstützen wird,”in der Zukunft”.
# Upgrade-Richtlinie
Da wir irgendwann diese Mindestversion erreichen müssen, wäre es ideal, den Compiler von Zeit zu Zeit zu aktualisieren Zeit, diesem Ziel so nahe wie möglich zu kommen und Probleme früher zu finden. Im Extremfall könnten wir upgraden, sobald eine neue Rust-Version herauskommt. Natürlich steht ein so häufiges Upgrade in krassem Gegensatz zu dem, was man normalerweise braucht GCC und LLVM, insbesondere angesichts des Veröffentlichungszeitplans: 6 Wochen für Rust gegenüber einem halben Jahr für LLVM und einem Jahr für GCC.
Allerdings bringt langsames Updaten auch keinen besonderen Vorteil: Kernel-Entwickler in”stabilen”Distributionen werden wahrscheinlich ohnehin nicht in der Lage sein, ihre von der Distribution bereitgestellte Rust-Toolchain für den Kernel zu verwenden. Stattdessen können Kernel-Entwickler, die Linux-Distributionen verwenden, die die neueste Rust-Version verfolgen, stattdessen durch routinemäßiges Upgrade auf die neueste Version möglicherweise diese anstelle der von Rust bereitgestellten verwenden, insbesondere wenn ihr Paketmanager es erlaubt, die Version zu fixieren/zurückzuhalten/herunterzustufen einige Tage während Windows, wo die Version möglicherweise nicht übereinstimmt. Beispielsweise bieten und verfolgen Arch, Fedora, Gentoo und openSUSE alle 6 Wochen die neueste Version von Rust, sobald sie veröffentlicht werden.
Wenn dann die Mindestversion erreicht ist, stoppen wir das Upgrade und entscheiden, wie breit das Supportfenster sein wird. Zum Beispiel ein Jahr Rust-Versionen. Wir werden wahrscheinlich klein anfangen und es dann im Laufe der Zeit erweitern wollen, so wie es der Kernel ursprünglich für LLVM getan hat.”
Weitere Details zu dieser formulierten Upgrade-Richtlinie in der dritte Patch.
Also mit diese Patch-Reihe ist das Kernel-Upgrade auf Rust 1.68.2.