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
Kwi 28

Huawei przygotowuje chipy AI Ascend 910C i 910D jako alternatywę dla Nvidii

Huawei Technologies przygotowuje się do testowania swojego najnowszego i najmocniejszego procesora sztucznej inteligencji Ascend 910D oraz planuje masową wysyłkę układu Ascend 910C do chińskich klientów – informuje Reuters, powołując się na osoby związane ze sprawą.
0
Kwi 24

OpenAI wprowadza GPT‑4.1 — nową rodzinę modeli zoptymalizowanych pod kątem kodowania i zadań z długim kontekstem

OpenAI udostępniła trzy nowe modele językowe w API: GPT‑4.1, GPT‑4.1 mini oraz GPT‑4.1 nano. Wszystkie obsługują kontekst o długości do 1 miliona tokenów i oferują istotne usprawnienia w zakresie pisania kodu, rozumienia długiego kontekstu oraz przestrzegania instrukcji. Modele nie są dostępne w ChatGPT, ale można je wykorzystać w aplikacjach poprzez interfejs API.
0
Mar 31, 2023

CD Projekt RED wprowadził urlop menstruacyjny

Już od kwietnia kobiety będą miały jeden dzień wolnego od pracy w miesiącu w przypadku bolesnej miesiączki.
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