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
Lut 3

Tysiące stron rządowych w USA usuniętych w związku z ustawą Trumpa przeciwko różnorodności i „ideologii gender”

Tysiące stron internetowych na rządowych portalach w USA zostało usuniętych lub zmodyfikowanych w związku z nowym prawem podpisanym przez Donalda Trumpa, które uderza w inicjatywy na rzecz różnorodności oraz „ideologii gender” – informuje The New York Times.
0
Lip 7

Meta wspiera koncepcję Unii Europejskiej o wieku cyfrowej dojrzałości

Meta wspiera propozycję wprowadzenia wspólnego wieku cyfrowej dojrzałości w Unii Europejskiej. Zgodnie z założeniem, młodsi nastolatkowie potrzebowaliby zgody rodziców, aby uzyskać dostęp do usług cyfrowych.
0
Cze 24

Japońska technologia pozwala sterować robotem przy użyciu mięśni

Japońska firma H2L zaprezentowała nowy interfejs Capsule Interface, który umożliwia zdalne sterowanie robotami humanoidalnymi za pomocą napięcia mięśniowego. System wykorzystuje czujniki do wykrywania mikroruchów mięśni i przekazywania ich w czasie rzeczywistym do robota
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