[NEW] Szukaj pracy anonimowo — sprawdź szczegóły
Close
Christoph Hellwig odszedł z roli maintenera DMA Mapping i ConfigFS po forsowaniu Rust

Christoph Hellwig odszedł z roli maintenera DMA Mapping i ConfigFS po forsowaniu Rust

Christoph Hellwig ustąpił ze stanowiska maintenera podsystemów dma-mapping i configfs. Jego odejście ograniczyło się do wysłania zgłoszenia o usunięcie z listy maintenerów i przekazania zarządzania pozostałym opiekunom. W podsystemie dma-mapping opiekę przejął Marek Szyprowski z Samsunga, natomiast w configfs – Joel Becker z Oracle.

Hellwig nadal pozostaje maintenerem podsystemów NVM Express, vmalloc i FreeVXFS. W przeszłości zasiadał w Technical Advisory Board Linux Foundation oraz brał udział w rozwoju podsystemów XFS, KVM, Trace events, SCSI i Slab Allocator, a także zajmował się utrzymaniem architektury PowerPC w jądrze Linux. Dodatkowo był powodem w procesie sądowym przeciwko VMware dotyczącym naruszenia licencji GPL.

Odejście Hellwiga a Rust w jądrze Linux

Decyzja o rezygnacji z roli maintenera dma-mapping i configfs wynika z oświadczenia Linusa Torvaldsa o zamiarze akceptowania w jądrze Linux wiązań w Rust niezależnie od zgody maintenerów podsystemów, których te wiązania dotyczą. W styczniu Hellwig stanowczo odmówił przyjęcia do jądra Rust-wiązań dla funkcji DMA, co doprowadziło do konfliktu, w wyniku którego z zespołu jądra odeszli maintenerzy podsystemów Nouveau i ARM/Apple.

24 lutego programiści projektu Rust for Linux zaproponowali patch dodający warstwę abstrakcji w configfs, podsystemie nadzorowanym przez Hellwiga. Nie wziął on udziału w dyskusji na temat nowej implementacji w Rust, a kilka dni później usunął siebie z listy maintenerów dma-mapping i configfs.

Krytyka Rust w jądrze Linux

Hellwig uważa, że stosowanie wielu języków programowania w tak złożonym projekcie jak jądro Linux jest nieakceptowalne. Według niego mieszane codebase’y komplikują pracę maintenerów, ponieważ uzależniają ich od kodu w innym języku. W szczególności obecność wiązań w Rust wymaga od twórców podsystemów napisanych w C uwzględniania ich wpływu na poprawność działania warstwy Rust. Każda zmiana w strukturach danych czy funkcjach wewnętrznych w C może wymagać modyfikacji kodu Rust-wiązań, co oznacza konieczność synchronizacji i dodatkowych testów.

W praktyce już doszło do sytuacji, w której pull request dotyczący systemu zarządzania pamięcią został odrzucony, ponieważ jego implementacja powodowała błąd podczas budowania jądra z włączoną obsługą Rust. Problem wynikał z desynchronizacji z kodem narzędzia bindgen, używanego do generowania Rust-wiązań. W efekcie maintenerzy podsystemu zarządzania pamięcią, wprowadzając poprawnie działające zmiany w kodzie C, musieli brać pod uwagę opcjonalny i zewnętrzny kod w Rust, za który odpowiadała inna grupa deweloperów.

Stanowisko Linusa Torvaldsa

Linus Torvalds nie zgodził się z Hellwigiem, twierdząc, że nie miał on uprawnień do blokowania akceptacji Rust-wiązań dla podsystemu DMA, ponieważ ten kod nie dotyka bezpośrednio dma-mapping i znajduje się w osobnym katalogu, zarządzanym przez innego maintenera.

Torvalds porównał działania Hellwiga do próby kontrolowania sposobu użycia podsystemu DMA, mimo że maintenerzy odpowiadają jedynie za swój kod, a nie za to, kto i jak go wykorzystuje. Zasugerował, że jeśli zmiany w kodzie podstawowych podsystemów powodują problemy w sterownikach, to nie jest to powód do blokowania nowych sterowników, a podobne zasady powinny dotyczyć Rust-wiązań w jądrze Linux.

Avatar
Mar 20, 2023

Zbiorowa petycja pracowników Google ws. lepszego traktowania przy zwolnieniach grupowych

Prawie 1400 pracowników firmy macierzystej Google Alphabet Inc. podpisało petycję wzywającą do lepszego traktowania pracowników podczas procesu zwolnień grupowych.
0
Mar 21, 2023

Polski startup Travatar.ai wykrywa sztuczny ruch na stronach internetowych

Według raportów Statista szacuje się, że w 2023 roku firmy stracą 100 mld USD przez oszustwa reklamowe (ad fraud) spowodowane przez szkodliwe boty.
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

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