{"id":121754,"date":"2025-02-07T15:46:00","date_gmt":"2025-02-07T13:46:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya"},"modified":"2025-02-07T15:46:00","modified_gmt":"2025-02-07T13:46:00","slug":"krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya","title":{"rendered":"Crisi nella promozione di Rust nel kernel a causa delle preoccupazioni per la complessit\u00e0 della manutenzione","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Christoph Hellwig, maintainer dei sottomoduli DMA, KVM, Slab Allocator e dell'architettura PowerPC nel kernel Linux, che in passato ha fatto parte del comitato tecnico direttivo della Linux Foundation e ha agito come attore in una causa legale relativa alla GPL contro VMware, ha rifiutato di confermare le patch riguardanti il supporto dello sviluppo di driver in linguaggio Rust. Le patch proposte aggiungevano dei wrapper su diverse funzioni del sottomodulo DMA, permettendo di utilizzare DMA nei driver scritti in Rust.     <\/p>\n<p>Tra le motivazioni del rifiuto \u00e8 stata citata la complessit\u00e0 nella manutenzione del codice in presenza di wrapper in altri linguaggi e la volont\u00e0 di mantenere le interfacce di programmazione per DMA in un formato leggibile in linguaggio C, senza sfumature in wrapper poco chiari. Christoph ha proposto di accedere direttamente all'API C originale di DMA in ogni driver in Rust, per evitare di creare ulteriori astrazioni dalle quali i manutentori del kernel sarebbero costretti a dipendere.       <\/p>\n<p>Gli sviluppatori dei driver hanno dichiarato che si occuperanno di tutto il lavoro di supporto per il codice Rust, pronti a gestire questi pacchetti autonomamente e hanno spostato i wrapper in una sottocartella separata (rust\/kernel\/dma.rs). In risposta, Christoph ha posto il veto (\"Nacked-by\") all'accettazione dei pacchetti relativi a Rust e ha indicato che non desidera un ulteriore manutentore. Christoph ha affermato che se gli sviluppatori dei wrapper vogliono rendere impossibile il supporto di Linux a causa della mescolanza di pi\u00f9 linguaggi in un unico codice, dovrebbero farlo nel loro driver, piuttosto che diffondere questo cancro nei sottosistemi principali del kernel.     <\/p>\n<p>Inoltre, Christoph ha specificato di non avere nulla contro il linguaggio Rust e lo considera uno dei migliori linguaggi nuovi, ma \u00e8 contrario alla mescolanza di codice in linguaggi diversi. Secondo Christoph, supporta la creazione di nuovi progetti in Rust, ma \u00e8 contrario a mescolare Rust con ampie basi di codice in C, poich\u00e9 tale mescolanza riduce significativamente la facilit\u00e0 di manutenzione del kernel, considerato un progetto integrato.                <\/p>\n<p>La questione dei problemi con il supporto \u00e8 che i wrapper Rust pongono i manutentori in dipendenza dal codice in linguaggio Rust. A prima vista, sembra che i wrapper siano solo sovrastrutture su strutture e funzioni in C, che non influenzano in alcun modo lo sviluppo e il supporto del codice in C. Ma non \u00e8 cos\u00ec. In presenza di tali wrapper, gli sviluppatori dei sottosistemi scritti in C devono tenere conto dell'impatto delle loro modifiche sul mantenimento del funzionamento dei wrapper. Qualsiasi modifica alle strutture dati o alle funzioni interne in C pu\u00f2 portare alla necessit\u00e0 di modificare il codice dei wrapper, quindi le modifiche che influenzano i wrapper nel codice C devono essere monitorate e sincronizzate con il codice in Rust. Molti manutentori non sono pronti a prendersi la responsabilit\u00e0 aggiuntiva di risolvere i problemi che sorgono nel codice in Rust e non intendono dedicare tempo al monitoraggio dello stato dei wrapper Rust.    <\/p>\n<p>La situazione riguardo alla complessit\u00e0 del supporto non \u00e8 teorica. Alla discussione si \u00e8 unito Jason Gunthorpe, manutentore di TPM, VFIO e Infiniband per NVIDIA, che ha portato l'esempio del rifiuto da parte di Linus Torvalds di una pull request con modifiche al sottosistema di gestione della memoria, poich\u00e9 tale modifica portava a un crash durante il tentativo di compilare il kernel con il supporto per Rust. Il crash \u00e8 avvenuto perch\u00e9 i manutentori del codice in Rust non hanno aggiunto le modifiche necessarie al generatore di wrapper (bindgen). Cos\u00ec, i manutentori del sottosistema di gestione della memoria, nel promuovere una modifica completamente corretta dal punto di vista del codice in C e del kernel in generale, si sono trovati a dipendere da codice di terze parti opzionale nel kernel, per il quale sono responsabili altre persone.     <\/p>\n<p>Il rifiuto di accettare il codice del wrapper attorno alle chiamate DMA ha messo gli sviluppatori del progetto Rust for Linux in una situazione difficile, poich\u00e9 senza tali wrapper lo sviluppo di driver completi in Rust sar\u00e0 complicato. Hector Martin, il maintainer del codice per il supporto dei chip ARM di Apple e leader del progetto Ashai Linux, ha proposto come possibile soluzione al conflitto di ottenere l'accettazione del wrapper direttamente tramite Linus Torvalds, bypassando il manutentore del sottosistema DMA. Se Linus accettasse tale violazione della gerarchia e della prassi stabilita, potrebbe portare a una crisi di gestione dello sviluppo del kernel; ma se rifiutasse, interromperebbe i progressi di Rust nel kernel.       <\/p>\n<p>Come opzione, Hector ha menzionato il coinvolgimento di Christophe per violazione del codice di condotta a causa di un commento in cui Christophe ha paragonato Rust a un tumore canceroso. Inoltre, Hector ha scritto di essere stanco di tutte le complicazioni burocratiche, non pronto a fidarsi semplicemente dei processi esistenti e ha accennato al coinvolgimento dei social media. Dave Airlie, il maintainer del sottosistema DRM, ha consigliato di non gonfiare il conflitto e di capire che il comportamento tossico \u00e8 inaccettabile da entrambe le parti, indipendentemente da chi abbia ragione o torto nella discussione.     <\/p>\n<p>Linus Torvalds \u00e8 intervenuto nella discussione, indicando che il problema potrebbe risiedere nel nativo Hector e nella sua autoassicurazione di sapere qualcosa di meglio degli altri, piuttosto che nel corrente processo di sviluppo del kernel, che in effetti funziona. Il processo di sviluppo del kernel ha dei problemi, ma \u00e8 una realt\u00e0 della vita: nulla \u00e8 perfetto. I tentativi di bullismo sui social media sono ci\u00f2 che scoraggia Linus dal voler avere qualsiasi interazione con l'approccio di Hector. Per Linus, ci\u00f2 che conta sono le discussioni tecniche e i pacchetti, non la pressione esercitata attraverso i social media.    <\/p>\n<p>In risposta, Hector ha inviato una richiesta per essere rimosso dalla lista dei manutentori della piattaforma ARM\/APPLE, poich\u00e9 ha perso fiducia nel processo di sviluppo e nell'approccio alla gestione della comunit\u00e0 applicato nel kernel. Ha anche affermato che lo sviluppo della piattaforma ARM\/Apple continuer\u00e0 al di fuori del kernel principale di Linux. Un altro maintainer per la piattaforma ARM\/Apple \u00e8 rimasto nel kernel: Sven Peter, che intende continuare a mantenere la piattaforma nel kernel.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62685\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0440\u0438\u0441\u0442\u043e\u0444 \u0425\u0435\u043b\u0432\u0438\u0433 (Christoph Hellwig), \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c DMA, KVM, Slab Allocator \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b PowerPC \u0432 \u044f\u0434\u0440\u0435 Linux, \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0438\u0432\u0448\u0438\u0439 \u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043c\u0438\u0442\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Linux Foundation \u0438 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0432\u0448\u0438\u0439 \u0438\u0441\u0442\u0446\u043e\u043c \u0432 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u043c \u0441 GPL \u0441\u0443\u0434\u0435\u0431\u043d\u043e\u043c \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0435 \u0441 VMware, \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044c \u043f\u0430\u0442\u0447\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 \u043f\u0430\u0442\u0447\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438 \u043e\u0431\u0432\u044f\u0437\u043a\u0438 \u043d\u0430\u0434 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-121754","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0440\u0438\u0441\u0442\u043e\u0444 \u0425\u0435\u043b\u0432\u0438\u0433 (Christoph Hellwig), \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c DMA, KVM, Slab Allocator \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b PowerPC \u0432 \u044f\u0434\u0440\u0435 Linux, \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0438\u0432\u0448\u0438\u0439 \u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043c\u0438\u0442\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Linux Foundation \u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0440\u0438\u0437\u0438\u0441 \u0432 \u043f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0438 Rust \u0432 \u044f\u0434\u0440\u043e \u0438\u0437-\u0437\u0430 \u043e\u043f\u0430\u0441\u0435\u043d\u0438\u0439 \u0443\u0441\u043b\u043e\u0436\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0440\u0438\u0441\u0442\u043e\u0444 \u0425\u0435\u043b\u0432\u0438\u0433 (Christoph Hellwig), \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c DMA, KVM, Slab Allocator \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b PowerPC \u0432 \u044f\u0434\u0440\u0435 Linux, \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0438\u0432\u0448\u0438\u0439 \u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043c\u0438\u0442\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Linux Foundation \u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-02-07T13:46:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-02-07T13:46:00+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Crisi nella promozione di Rust nel kernel a causa di timori di complicare la manutenzione | ProHoster","description":"Christoph Hellwig, maintainer dei sottosistemi DMA, KVM, Slab Allocator e architettura PowerPC nel kernel Linux, che in passato faceva parte del comitato tecnico di gestione dell'organizzazione Linux Foundation e.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0440\u0438\u0437\u0438\u0441 \u0432 \u043f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0438 Rust \u0432 \u044f\u0434\u0440\u043e \u0438\u0437-\u0437\u0430 \u043e\u043f\u0430\u0441\u0435\u043d\u0438\u0439 \u0443\u0441\u043b\u043e\u0436\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0435\u043d\u0438\u044f | ProHoster","og:description":"\u041a\u0440\u0438\u0441\u0442\u043e\u0444 \u0425\u0435\u043b\u0432\u0438\u0433 (Christoph Hellwig), \u043c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c DMA, KVM, Slab Allocator \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b PowerPC \u0432 \u044f\u0434\u0440\u0435 Linux, \u0432 \u0441\u0432\u043e\u0451 \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0438\u0432\u0448\u0438\u0439 \u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u043e\u043c\u0438\u0442\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 Linux Foundation \u0438.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/krizis-v-prodvizhenii-rust-v-yadro-iz-za-opasenij-uslozhneniya-soprovozhdeniya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-02-07T13:46:00+00:00","article:modified_time":"2025-02-07T13:46:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"121754","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 10:24:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 10:24:19","updated":"2026-01-23 10:24:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/121754","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=121754"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/121754\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=121754"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=121754"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=121754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}