CINXE.COM

LKML: Linus Torvalds: Re: Rust kernel policy

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>LKML: Linus Torvalds: Re: Rust kernel policy</title><link href="/css/message.css" rel="stylesheet" type="text/css" /><link href="/css/wrap.css" rel="alternate stylesheet" type="text/css" title="wrap" /><link href="/css/nowrap.css" rel="stylesheet" type="text/css" title="nowrap" /><link href="/favicon.ico" rel="shortcut icon" /><script src="/js/simple-calendar.js" type="text/javascript"></script><script src="/js/styleswitcher.js" type="text/javascript"></script><link rel="alternate" type="application/rss+xml" title="lkml.org : last 100 messages" href="/rss.php" /><link rel="alternate" type="application/rss+xml" title="lkml.org : last messages by Linus Torvalds" href="/groupie.php?aid=" /><!--Matomo--><script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(["setDoNotTrack", true]); _paq.push(["disableCookies"]); _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="//m.lkml.org/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '1']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script><!--End Matomo Code--></head><body onload="es.jasper.simpleCalendar.init();" itemscope="itemscope" itemtype="http://schema.org/BlogPosting"><table border="0" cellpadding="0" cellspacing="0"><tr><td width="180" align="center"><a href="/"><img style="border:0;width:135px;height:32px" src="/images/toprowlk.gif" alt="lkml.org" /></a></td><td width="32">聽</td><td class="nb"><div><a class="nb" href="/lkml"> [lkml]</a> 聽 <a class="nb" href="/lkml/2025"> [2025]</a> 聽 <a class="nb" href="/lkml/2025/2"> [Feb]</a> 聽 <a class="nb" href="/lkml/2025/2/23"> [23]</a> 聽 <a class="nb" href="/lkml/last100"> [last100]</a> 聽 <a href="/rss.php"><img src="/images/rss-or.gif" border="0" alt="RSS Feed" /></a></div><div>Views: <a href="#" class="nowrap" onclick="setActiveStyleSheet('wrap');return false;">[wrap]</a><a href="#" class="wrap" onclick="setActiveStyleSheet('nowrap');return false;">[no wrap]</a> 聽 <a class="nb" href="/lkml/mheaders/2025/2/23/351" onclick="this.href='/lkml/headers'+'/2025/2/23/351';">[headers]</a>聽 <a href="/lkml/bounce/2025/2/23/351">[forward]</a>聽 </div></td><td width="32">聽</td></tr><tr><td valign="top"><div class="es-jasper-simpleCalendar" baseurl="/lkml/"></div><div class="threadlist">Messages in this thread</div><ul class="threadlist"><li class="root"><a href="/lkml/2025/2/18/1309">First message in thread</a></li><li><a href="/lkml/2025/2/21/767">Danilo Krummrich</a><ul><li><a href="/lkml/2025/2/21/1155">Steven Rostedt</a></li><li><a href="/lkml/2025/2/23/331">Laurent Pinchart</a><ul><li class="origin"><a href="/lkml/2025/2/26/1561">Linus Torvalds</a><ul><li><a href="/lkml/2025/2/26/1561">Jason Gunthorpe</a><ul><li><a href="/lkml/2025/2/26/1968">Linus Torvalds</a></li></ul></li></ul></li></ul></li></ul></li></ul></td><td width="32" rowspan="2" class="c" valign="top"><img src="/images/icornerl.gif" width="32" height="32" alt="/" /></td><td class="c" rowspan="2" valign="top" style="padding-top: 1em"><table><tr><td><table><tr><td class="lp">From</td><td class="rp" itemprop="author">Linus Torvalds &lt;&gt;</td></tr><tr><td class="lp">Date</td><td class="rp" itemprop="datePublished">Sun, 23 Feb 2025 10:31:49 -0800</td></tr><tr><td class="lp">Subject</td><td class="rp" itemprop="name">Re: Rust kernel policy</td></tr></table></td><td></td></tr></table><pre itemprop="articleBody">On Sun, 23 Feb 2025 at 10:03, Laurent Pinchart<br />&lt;laurent.pinchart&#64;ideasonboard.com&gt; wrote:<br />&gt;<br />&gt; &gt; I can't answer for Linus, sorry. But a generic "hey, this broke our<br />&gt; &gt; working toolchain builds" is something that is much much much<br />&gt; &gt; different than "an api changed so I now have to turn off this driver<br />&gt; &gt; in my build" issue.<br />&gt;<br />&gt; I haven't found a clear statement from Linus on this topic.<br />&gt;<br />&gt; Those three statements can't all be true together, we can at best have<br />&gt; two. I would like to understand which one we will drop first, and I<br />&gt; believe many other developers and maintainers are wondering the same.<br /><br />This is literally why linux-next exists. It's where breakage is<br />supposed to be found.<br /><br />And guys, you have to realize that there is no such thing as "works<br />every time". Just this merge window, we had a case where I didn't pull<br />some stuff because it broke 'bindgen', and the reason was simply that<br />not a lot of people seem to be running the rust builds on linux-next.<br />But realistically, my normal build testing has had rust enabled for<br />the last year or so, and that was literally the first time something<br />like this happened.<br /><br />So be realistic: can rust cause toolchain problems? Sure.<br /><br />But we have that issue - and we've had it *much*more* - with the<br />regular C side too. We have those kinds of issues pretty much every<br />single release, and it's usually "this doesn't build on some esoteric<br />architecture that people don't test any more".<br /><br />For example, this merge window I did have that unusual "this doesn't<br />work for my rust build" situation, but that one was caught and fixed<br />before the merge window even closed. Guess what *wasn't* caught, and<br />then wasn't fixed until -rc3? A bog-standard build error on the<br />esoteric platform called "i386".<br /><br />Yes, linux-next is supposed to catch interactions between different<br />development trees. And yes, various build bots test different<br />configurations. But nothing is ever perfect, and you really shouldn't<br />expect it to be.<br /><br />At the same time, people harping on some rust issues seem to do so not<br />because rust is any worse, but because they have internalized our<br />*normal* issues so much that they don't even think about them. EVERY<br />SINGLE RELEASE Guenter Rockl sends out his test-results for -rc1, and<br />EVERY SINGLE RELEASE we have new failed tests and most of the time we<br />have several build errors too.<br /><br />Guys and gals - this is *normal*. You should expect it. Breakage<br />happens. All the time. And that has nothing to do with Rust. It has to<br />do with the fact that we are doing software development.<br /><br />Ask yourself: how many problems has rust caused you in the last year?<br />I'm claiming that the main problem has been people who have been<br />forthing at the mouth, not the actual rust support.<br /><br />So next time you want to write an email to complain about rust<br />support: take a look in the mirror.<br /><br />Is the problem actually the rust code causing you issue, or is the<br />problem between the keyboard and the chair, and you just want to vent?<br /><br /> Linus<br /><br /></pre></td><td width="32" rowspan="2" class="c" valign="top"><img src="/images/icornerr.gif" width="32" height="32" alt="\" /></td></tr><tr><td align="right" valign="bottom"> 聽 </td></tr><tr><td align="right" valign="bottom">聽</td><td class="c" valign="bottom" style="padding-bottom: 0px"><img src="/images/bcornerl.gif" width="32" height="32" alt="\" /></td><td class="c">聽</td><td class="c" valign="bottom" style="padding-bottom: 0px"><img src="/images/bcornerr.gif" width="32" height="32" alt="/" /></td></tr><tr><td align="right" valign="top" colspan="2"> 聽 </td><td class="lm">Last update: 2025-02-23 19:33 聽聽 [W:0.029 / U:0.180 seconds]<br />漏2003-2020 <a href="http://blog.jasper.es/"><span itemprop="editor">Jasper Spaans</span></a>|hosted at <a href="https://www.digitalocean.com/?refcode=9a8e99d24cf9">Digital Ocean</a> and my Meterkast|<a href="http://blog.jasper.es/categories.html#lkml-ref">Read the blog</a></td><td>聽</td></tr></table><script language="javascript" src="/js/styleswitcher.js" type="text/javascript"></script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10