Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp735520pxy; Wed, 5 May 2021 12:30:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzAoit668lrKgJBC7sBe024uPMJwbG1ACwVV6vfxDRAM0HudwtO8r06arbA4yMVDS80yBuW X-Received: by 2002:a17:906:170f:: with SMTP id c15mr370619eje.358.1620243054986; Wed, 05 May 2021 12:30:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620243054; cv=none; d=google.com; s=arc-20160816; b=piZwd+koh/k0dM9sudFt3px+Oii1D/J+wsx3vklQy6hsfzKevuvKgMSTMg76T89C7c lbW+5UBTe2Cg3KOv4rHPxXDwp607cYnVygK+fJjqHCchipSfsFoopwvAB/P3DnxQ1x6I uZcJJm7wIjpNN4BGrRaDQpb8N5dU0x0j7qNZeDO1EUhq6tM2k1a7Sqk42HomMQtea9ia MWwmyX2lwXXGiXJpAFn7l+rzf61s4U1GjepXuU0sxVRaeNTWpdIPiAp6pLrxZSRfKCAb mBToznq/Q0G8eKbG8h6NBEHoBSGfusW4zyZlJrZ06VdZFXQDKe3bVsQ/7zcImej6CUZz x29Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=T4XfxZaZq47CKwnyWGH3VIAzItUvGF98JVa05cm0EJ4=; b=Sf0QTj6X55zabO3NJBKZqpHoWnf+OZ21Fu33h5VWyHJNFLTHaRKBXjfcgGCcSGMu5b x5cs4pgjga0ZHSOE8LivjhxySiCh0Wl97ZCxc3G1Km3OQUzLvQWh1BR1edjv5nWdtM0x NdkpGpSrmeo8UKZgS5ab4sFTksRcN7sNSYyHjzwr+4qUiENw4pWZ45JtpThztvwdPmBl Vi8Rn/iFsVPZTytdQYG7KH4QhTqQ/S9SDJPjoRi1m7bhrS6VB/linkYkKrJ9QFNVKuAP +/AWxQWb/nFoaIaLNzzEDZctehx/+F1XE0choV60U/aWs9uyW5044pi/dUlfOwZ4RZK8 /j1w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=gbtIna15; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id gx22si228502ejc.568.2021.05.05.12.30.30; Wed, 05 May 2021 12:30:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=gbtIna15; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233289AbhEEOnI (ORCPT + 99 others); Wed, 5 May 2021 10:43:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41032 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233244AbhEEOnG (ORCPT ); Wed, 5 May 2021 10:43:06 -0400 Received: from mail-yb1-xb35.google.com (mail-yb1-xb35.google.com [IPv6:2607:f8b0:4864:20::b35]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2307DC06174A; Wed, 5 May 2021 07:42:09 -0700 (PDT) Received: by mail-yb1-xb35.google.com with SMTP id m9so2983469ybm.3; Wed, 05 May 2021 07:42:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=T4XfxZaZq47CKwnyWGH3VIAzItUvGF98JVa05cm0EJ4=; b=gbtIna15A823UxWQ8KiZ4769tXSVtif/RLtdgeX9uWDg+cuVSJV4atrp8HJ8X3ZpB9 NVF2kMygWDlHvterIJIVMEDbWweRPYt1t8DBjeupko66Yu1RjklNdu5rqTdFvViJfqRo NiB5C+f9Q2aVX9FM4BdGj6RhRAvzYqeOT17lhtAaNqMCaV1FctqgPyP7N4bhn0AnB7Rl Eo4baobiVUNeAyus7N6eVYY5TZbXQa0+C9kZJdK29k0NXsYGGw/S55JFOvJGUuXGbJiy MAUACY/LcNTxgx23d3lpTWyBW4nVeuTbIfvOy4xHPZCwhUOFpQouZhxilzVNZzqXblQL CmMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=T4XfxZaZq47CKwnyWGH3VIAzItUvGF98JVa05cm0EJ4=; b=gNe2NU6+Pp3J18Nk+sp/+jir0IaVLhyqBBN8mdaBHJXJPfmlVQjWNcleQUJnp5kHoc GWpCO0YwmIKbtILdwMRwjRynlZrMw+YMyT8H/DSI+BX+rypsl3jq+xDwYulU0UvYMro6 1TzdW2JTzYvUNu9zI/w1UtHuN2pvivqM8eS/eUZSn6IFd7k6hwnzxK6TCasuWVx629e+ HL/q1XUBm90y3ewGB0LTzLBnf6eUApxTpaXmCTIH6+1NfcaHhv3Wo6h4kOj9XD1uM2rs p3ftzc8VKGWL52arzUJ+f4O89sSjf/nQCpkBa7rHZODjuDZWNcTItQAULzirpw8gXMWO iCdA== X-Gm-Message-State: AOAM5339GZkXoySPs+N55jgR4sHgtkz+6OKTYPUiwT4C72UNEfQHSAGm mOm62zVx1r9Se/0rqtxOJTBQMvhd5R4YTANBMf0= X-Received: by 2002:a25:ca85:: with SMTP id a127mr37116107ybg.33.1620225728295; Wed, 05 May 2021 07:42:08 -0700 (PDT) MIME-Version: 1.0 References: <20210414184604.23473-1-ojeda@kernel.org> <878s51e3jc.fsf@gmail.com> <7999ba57-9b95-265e-a189-d9ca01304b13@schoebel-theuer.de> <53413f58-269a-a1f6-2a97-e33819446609@metux.net> In-Reply-To: <53413f58-269a-a1f6-2a97-e33819446609@metux.net> From: Miguel Ojeda Date: Wed, 5 May 2021 16:41:57 +0200 Message-ID: Subject: Re: [PATCH 00/13] [RFC] Rust support To: "Enrico Weigelt, metux IT consult" Cc: Thomas Schoebel-Theuer , Kajetan Puchalski , mceier+kernel@gmail.com, Miguel Ojeda , Linus Torvalds , Greg Kroah-Hartman , rust-for-linux , Linux Kbuild mailing list , Linux Doc Mailing List , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 5, 2021 at 3:59 PM Enrico Weigelt, metux IT consult wrote: > > ACK. And speaking for embedded world, 20+ product lifetime is pretty > common. During that lifetime you'd need to be able to pick out old > sources, so some changes and rebuild your code and having your system > still running seamlessly after the update. IOW: long-term > reproducability is absolutely vital. Linux does much better here than > many competitors (that eg. need proprietary build tools that don't > even run later machine generations) You should be able to rebuild old releases with newer compilers. Like the major C and C++ compilers keep support for old code and old standards, the main Rust compiler keeps support for old code and old "editions" too. > Yes, and also adding long-term reproducability as another vital requirement. See my sibling replies to Linus W. on the efforts underway around this. > Rust seems to be a fast moving target. Even building a Rust compiler can > be a pretty complex task (if you're not a full time rust developer). It only takes a handful of commands. If you know how to build GCC or LLVM, building Rust is about the same complexity. > Gcc, in constrast, itself can be built on older compilers (even non- > gcc). How to do that w/ rustc ? According to my observations some while > ago, it needs a fairly recent rustc to compile recent rustc, so when > coming with an old version, one has to do a longer chain of rustc > builds first. Doesn't look exactly appealing for enterprise grade and > long term support. Why would enterprise users care about bootstrapping? Companies typically want to use supported software, so they would use the pre-built compiler their distribution offers support for. For companies that want more features, they can use newer versions via the pre-built official binaries from the Rust project itself, which are routinely used by many projects around the world. Some companies are even using particular (i.e. frozen) Rust nightly compilers they picked. > Correct, the amount of people who understand rust is pretty low, those > who also understand enough of linux kernel development, probably just > a hand full world wide. For any practical business use case this > practically means: unsupported. This assumes Rust-enabled kernels will be provided by distributions to businesses from day 1 as soon as supports gets merged. Instead, what will need to happen first is that we evolve the support enough to compile the kernel with a Rust stable compiler, some important drivers get written *and* distributions start shipping those drivers in their business-oriented releases. That will take some time, and interested companies (e.g. for drivers) and their kernel developers will learn how to use Rust in the meantime. Cheers, Miguel