Rust core di krîzê de li ser fikarên parastinê

Кристоф Хелвиг (Christoph Hellwig), мэйнтейнер подсистем DMA, KVM, Slab Allocator и архитектуры PowerPC в ядре Linux, в своё время входивший в управляющий технический комитет организации Linux Foundation и выступавший истцом в связанном с GPL судебном разбирательстве с VMware, отказался подтверждать патчи, связанные с поддержкой разработки драйверов на языке Rust. Предложенный патчи добавляли обвязки над несколькими функциями подсистемы DMA, позволяющие использовать DMA в драйверах на языке Rust.

Sedemên ku ji bo redkirinê hatine destnîşan kirin tevliheviya zêde ya domandina kodê di hebûna girêdanên bi zimanên din de û xwestina parastina navgînên nermalavê ji DMA-yê re bi rengek xwendinê bi zimanê C-yê, bêyî ku li ser girêdanên nefêmkirî belav bibin, bûn. Christophe pêşniyar kir ku rasterast bigihîje API-ya C DMA ya xwecihî di her ajokera Rust de, da ku nebin abstractionsên din ên ku parêzvanên kernel neçar in ku pê ve girêdayî bin.

Разработчики патчей указали, что они возьмут на себя всю работу по сопровождению кода на Rust, готовы сопровождать эти патчи самостоятельно и вынесли обвязки в отдельный подкаталог (rust/kernel/dma.rs). В ответ Кристоф наложил вето («Nacked-by») на приём связанных с Rust патчей и указал, что ему не нужен ещё один сопровождающий. Кристоф заявил, что если разработчики обвязок хотят добиться невозможности сопровождения Linux из-за смешивания нескольких языков в одной кодовой базе, им следует делать это в своём драйвере, а не распространять эту раковую опухоль на основные подсистемы ядра.

Di heman demê de, Christoph eşkere kir ku tiştek wî li dijî zimanê Rust nîne û wî yek ji baştirîn zimanên nû dibîne, lê ew li dijî tevlihevkirina kodên zimanên cuda ye. Li gorî Christoph, ew alîgirê afirandina projeyên nû li Rust e, lê li dijî tevlihevkirina Rust di bingehên koda C-ya mezin de ye, ji ber ku tevlihevkirina wusa parastina kernelê wekî projeyek yekgirtî pir kêm dike.

Bingeha pirsgirêka parastinê ev e ku girêdanên Rust parêzgeran bi koda Rust ve girêdayî dikin. Di nihêrîna pêşîn de, dixuye ku girêdan tenê pêvek in ji bo struktur û fonksiyonên C-yê ku bi tu awayî bandorê li pêşkeftin û domandina koda C nakin. Lê ev ne wisa ye. Di hebûna girêdanên weha de, pêşdebirên bine pergalên ku bi C-yê hatine nivîsandin divê bandora guhertinên wan li ser fonksiyona domdar a girêdanan bihesibînin. Her guheztina strukturên daneyê an fonksiyonên hundurîn ên di C de dibe ku hewceyê guheztina koda girêdanê bike, ji ber vê yekê guheztinên koda C-yê ku bandorê li girêdanê dike divê bi koda Rust re were şopandin û hevdeng kirin. Pir parêzger ne amade ne ku berpirsiyariya zêde ya rastkirina pirsgirêkên ku di koda Rust de çêdibin hilgirin, û ne amade ne ku dema xwe li çavdêriya rewşa girêdanên Rust derbas bikin.

Rewşa tevlîheviya piştgiriyê ne spekulatîf e. Jason Gunthorpe, parêzgerê TPM, VFIO û Infiniband ji NVIDIA, beşdarî nîqaşê bû û mînakek da Linus Torvalds ku bi guhertinên di binpergala rêveberiya bîranînê de daxwazek kişandinê red kir, ji ber ku ev guhertin bû sedema têkçûnek dema ku hewl da ku kernelê bi piştgirîya Rust-ê çalak bike. Qeza çêbû ji ber ku parêzvanên koda Rust nekarîn guheztinên pêwîst li bingenê bikin. Bi vî rengî, parêzvanên binepergala rêveberiya bîranînê, di guheztina guhertinek ku ji hêla koda C û bi tevahî kernel ve bi tevahî rast e, xwe bi koda partiya sêyemîn a vebijarkî ya di kernelê de ku berpirsiyariya mirovên din e ve girêdayî dît.

Отказ принимать код обвязки над вызовами DMA поставил разработчиков проекта Rust for Linux в тупик, так как без подобных обвязок разработка полноценных драйверов на языке Rust будет затруднена. Гектор Мартин (Hector Martin), мэйнтейнер кода для поддержи ARM-чипов Apple и лидер проекта Ashai Linux, в качестве варианта разрешения конфликта предложил добиться принятия обвязки напрямую через Линуса Торвальдса, в обход сопровождающего подсистему DMA. Если Линус согласится на подобное нарушение субординации и сложившейся практики, это может привести к кризису управления разработкой ядра, а если откажется — остановит продвижение Rust в ядро.

Wekî din, Hector behs kir ku Christophe ji ber binpêkirina koda tevgerê ji ber şîroveyek ku tê de Christophe Rust bi tumorek penceşêrê re berhev dike, tê hesibandin. Digel vê yekê, Hector nivîsand ku ew ji hemî tabloya sor a burokratîk westiya bû, ne amade bû ku tenê bi pêvajoyên sazkirî bawer bike, û destnîşan kir ku tevlêbûna torên civakî. Dave Airlie, parêzvanê jêrpergala DRM, şîret kir ku li dijî zêdekirina pevçûnê û fêm bikin ku tevgera toksîk ji her du aliyan ve nayê pejirandin, bêyî ku beşdarê nîqaşê rast be an xelet be.

Linus Torvalds beşdarî nîqaşê bû û destnîşan kir ku dibe ku pirsgirêk Hector bixwe û pêbaweriya wî ya zêde ji zanîna tiştek ji yên din çêtir be, û ne pêvajoya pêşkeftina kernel a heyî ya ku dixebite. Pêvajoya pêşveçûna kernel pirsgirêkên xwe hene, lê ew rastiya jiyanê ye - di jiyanê de tiştek bêkêmasî nîne. Hewldanên zordestiyê yên bi riya medyaya civakî ew e ku Linus ji têkiliya xwe bi nêzîkatiya Hector re dilgiran dike. Tiştê ku ji Linus re girîng e, nîqaş û pêlên teknîkî ne, ne zexta medya civakî.

В ответ Гектор отправил запрос на удаление себя из числа сопровождающих платформу ARM/APPLE, так как он потерял веру в применяемый в ядре процесс разработки и подход к управлению сообществом. Он также заявил, что разработка платформы ARM/Apple будет продолжена вне основного ядра Linux. У платформы ARM/Apple в ядре остался ещё один мэйнтейнер — Свен Питер (Sven Peter), который намерен продолжить поддержание платформы в ядре.

Source: opennet.ru

Ji bo malperên bi parastina DDoS, serverên VPS VDS mêvandariya pêbawer bikirin 🔥 Hostinga malperê ya pêbawer bi parastina DDoS, serverên VPS VDS bikirin | ProHoster