Linus Torvalds planuje wprowadzić zmiany związane z Rust z pominięciem maintainerów jądra Linux

Linus Torvalds planuje wprowadzić zmiany związane z Rust z pominięciem maintainerów jądra Linux

Christoph Hellwig, maintainer podsystemów DMA, KVM, Slab Allocator oraz architektury PowerPC w jądrze Linux, zdecydowanie sprzeciwił się przyjęciu Rust-owego wsparcia dla podsystemu DMA, twierdząc, że takie zmiany nie mają sensu, dopóki nie zostaną uzgodnione ze społecznością i uwzględnione w dokumentacji jądra.

Christoph zwrócił również uwagę, że w zasadach podano błędne informacje, sugerujące, że maintainerzy mogą samodzielnie podejmować decyzje o włączeniu kodu związanego z Rustem do swoich podsystemów. Zgodnie z jego słowami, Linus Torvalds w prywatnej rozmowie oświadczył, że ma zamiar wprowadzić kod Rust do jądra, pomimo sprzeciwu maintainerów. Oznacza to, że deweloperzy i maintainerzy jądra będą musieli zmierzyć się z Rustem, niezależnie od tego, czy tego chcą, czy nie.

Christoph porównał rozprzestrzenianie się Rust-owych powiązań do przerzutów nowotworowych, które mogą doprowadzić do fragmentacji jądra. W efekcie jądro stanie się projektem napisanym w kilku językach, bez wyraźnego określenia, kiedy który język powinien być używany. Tego rodzaju mieszana baza kodu, według Christopha, będzie jego najgorszym koszmarem, ponieważ ciągle będzie dochodzić do konieczności przepisywania kodu z jednego języka na inny, a potem z powrotem.

Christoph pyta, jaki jest cel wprowadzenia Rust do jądra. Jeśli chodzi o rozwiązanie problemów bezpieczeństwa związanych z niskopoziomową obsługą pamięci, w pierwszej kolejności należy zmodernizować istniejący kod. Jeśli celem jest uproszczenie rozwoju sterowników, wprowadzenie kolejnego języka jedynie zwiększy obciążenie już i tak przeciążonych maintainerów, którzy utrzymują infrastrukturę jądra w pełnej sprawności.

Wśród argumentów zwolenników wprowadzenia Rust do jądra wymienia się:

  1. Pisanie nowego kodu w języku Rust zmniejszy ryzyko błędów związanych z pamięcią, stanami wyścigu oraz wyeliminuje niektóre błędy logiczne.
  2. Maintainerom będzie łatwiej przeglądać zmiany i przeprowadzać refaktoryzację modułów, dzięki gwarancjom oferowanym przez język Rust.
  3. Abstrakcje wykorzystujące zaawansowane możliwości Rustu uproszczą tworzenie nowych sterowników i modułów.
  4. Wsparcie nowoczesnego języka przyciągnie nowych uczestników do rozwoju jądra.
  5. Zastosowanie narzędzi Rust uprości spełnianie wymagań dotyczących dokumentowania kodu, na przykład w projekcie Rust for Linux wprowadzono wymaganie obowiązkowego dokumentowania publicznych API, wymagań bezpieczeństwa, bloków unsafe oraz invariantów typów.

Dodatkowo: Opinie Griega Kroaha-Hartmana i Keisa Cooka na temat celów promowania Rust w jądrze Linux.

Avatar
Kwi 14

Meta straciła już 45 miliardów dolarów na projekt metaverse

Cztery lata po zmianie nazwy Facebooka na Meta i ogłoszeniu wizji wirtualnych światów, projekt metaverse wciąż przynosi firmie ogromne straty. Według szacunków, do początku 2025 roku Reality Labs – odpowiedzialne za rozwój AR i VR – pochłonęło już 45 miliardów dolarów.
0
Maj 22

Intel rozważa sprzedaż działu rozwiązań sieciowych i peryferyjnych

Intel planuje sprzedać działy zajmujące się rozwiązaniami sieciowymi i peryferyjnymi. Decyzję tę zainicjował obecny CEO firmy, który chce skoncentrować wysiłki na tym, co naprawdę istotne dla spółki
0
Sie 8

GPT-5 udostępniony wszystkim użytkownikom ChatGPT

OpenAI wprowadził GPT-5, nowy flagowy model dostępny dla wszystkich użytkowników ChatGPT oraz programistów korzystających z API. Model osiąga rekordowe wyniki w wielu obszarach: 94,6% w AIME 25 (matematyka bez narzędzi), 74,9% w SWE-bench Verified (inżynieria oprogramowania) oraz 46,2% w HealthBench (realistyczne rozmowy medyczne). GPT-5 łączy szybką inferencję z rozszerzonym rozumowaniem, uruchamianym automatycznie w przypadku bardziej złożonych zapytań lub po wydaniu komendy w rodzaju „think hard about this”. Wersja GPT-5 pro oferuje jeszcze dłuższe wnioskowanie i wyższą dokładność w zadaniach o dużej złożoności.
0

Ta strona używa plików cookie, aby zapewnić Ci lepsze wrażenia podczas przeglądania.

Dowiedz się więcej o tym, jak używamy plików cookie i jak zmienić preferencje dotyczące plików cookie w naszej Polityka plików cookie.

Zmień ustawienia
Zapisz Akceptuj wszystkie cookies