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
Dec 7, 2023

Klarna przestaje zatrudniać pracowników ze względu na rozwój AI

Jedna z największych firm technologicznych w Europie Klarna zamroziła zatrudnienie i planuje redukcję personelu o 17%.
0
Jun 9, 2025

Intel: nowe produkty tylko z 50% marżą — firma zaostrza politykę zatwierdzania projektów

Podczas konferencji Bank of America Global Technology 2025 Michelle Johnston Holthaus, szefowa Intel Products, zapowiedziała nową politykę zatwierdzania produktów. Firma będzie rozwijać wyłącznie te projekty, które wykażą potencjał osiągnięcia co najmniej 50% marży brutto. Propozycje, które nie spełniają tego kryterium, nie otrzymają zasobów inżynieryjnych ani budżetu,
0
Apr 4, 2025

Cloudflare wprowadza AI Labyrinth – pułapkę na nieuczciwe boty AI

Cloudflare zaprezentował nowe rozwiązanie mające na celu ochronę stron internetowych przed nieautoryzowanym scrapowaniem danych przez boty AI.
0

This site uses cookies to offer you a better browsing experience.

Find out more on how we use cookies and how to change cookie preferences in our Cookies Policy.

Customize
Save Accept all cookies