From: Josh Triplett <email@example.com> To: Nick Desaulniers <firstname.lastname@example.org> Cc: email@example.com, firstname.lastname@example.org, email@example.com, Masahiro Yamada <firstname.lastname@example.org>, Linus Torvalds <email@example.com>, Greg KH <firstname.lastname@example.org>, Miguel Ojeda <email@example.com>, Steven Rostedt <firstname.lastname@example.org>, LKML <email@example.com>, clang-built-linux <firstname.lastname@example.org> Subject: Re: Linux kernel in-tree Rust support Date: Thu, 9 Jul 2020 22:36:42 -0700 Message-ID: <20200710053642.GA7282@localhost> (raw) In-Reply-To: <CAKwvOdmuYc8rW_H4aQG4DsJzho=F+djd68fp7mzmBp3-wY--Uw@mail.gmail.com> On Thu, Jul 09, 2020 at 11:41:47AM -0700, Nick Desaulniers wrote: > Hello folks, > I'm working on putting together an LLVM "Micro Conference" for the > upcoming Linux Plumbers Conf > (https://www.linuxplumbersconf.org/event/7/page/47-attend). It's not > solidified yet, but I would really like to run a session on support > for Rust "in tree." I suspect we could cover technical aspects of > what that might look like (I have a prototype of that, was trivial to > wire up KBuild support), but also a larger question of "should we do > this?" or "how might we place limits on where this can be used?" > > Question to folks explicitly in To:, are you planning on attending plumbers? > > If so, would this be an interesting topic that you'd participate in? I hadn't planned to attend the virtual event, but this sounds like a topic I absolutely have to attend. Please follow up if this proposal gets accepted. I'd love to see a path to incorporating Rust into the kernel, as long as we can ensure that: - There are appropriate Rustic interfaces that are natural and safe to use (not just C FFI, and not *just* trivial transformations like slices instead of buffer+len pairs). - Those Rustic interfaces are easy to maintain and evolve with the kernel. - We provide compelling use cases that go beyond just basic safety, such as concurrency checking, or lifetimes for object ownership. - We make Rust fit naturally into the kernel's norms and standards, while also introducing some of Rust's norms and standards where they make sense. (We want to fit into the kernel, and at the same time, we don't want to hastily saw off all the corners that don't immediately fit, because some of those corners provide value. Let's take our time.) - We move slowly and carefully, making sure it's a gradual introduction, and give people time to incorporate the Rust toolchain into their kernel workflows. Also, with my "Rust language team lead" hat on, I'd be happy to have the Linux kernel feeding into Rust language development priorities. If building Rustic interfaces within the kernel requires some additional language features, we should see what enhancements to the language would best serve those requirements. I've often seen the sentiment that co-evolving Linux and a C compiler would be beneficial for both; I think the same would be true of Linux and the Rust compiler.
next prev parent reply index Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-09 18:41 Nick Desaulniers 2020-07-09 20:52 ` Miguel Ojeda 2020-07-10 5:36 ` Josh Triplett [this message] 2020-07-10 6:28 ` Greg KH 2020-07-10 12:50 ` Christian Brauner 2020-07-10 16:10 ` Kees Cook [not found] ` <CAFRnB2WNo45J8h3-ncopLKENvcO0rf7J3xsy_eRKwFSpDD-5sQ@mail.gmail.com> 2020-07-10 23:05 ` Kees Cook 2020-07-10 22:59 ` Josh Triplett 2020-07-10 23:54 ` Linus Torvalds 2020-07-11 21:03 ` Josh Triplett 2020-07-28 20:40 ` Pavel Machek 2020-07-29 6:34 ` Josh Triplett 2020-07-11 17:13 ` Geoffrey Thomas 2020-07-12 12:31 ` Adrian Bunk 2020-07-12 19:39 ` Josh Triplett 2020-07-12 20:33 ` Linus Torvalds 2020-07-12 20:45 ` Adrian Bunk 2020-07-14 8:27 ` David Laight 2020-07-16 13:06 ` Arnd Bergmann 2020-07-16 23:12 ` Josh Triplett 2020-07-19 18:19 ` Adrian Bunk 2020-07-20 14:46 ` David Laight 2020-08-23 21:02 ` Adrian Bunk 2020-08-23 21:54 ` Geoffrey Thomas 2020-07-13 18:11 ` Eric W. Biederman 2020-07-13 21:33 ` Josh Triplett
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200710053642.GA7282@localhost \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
LKML Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git git clone --mirror https://lore.kernel.org/lkml/9 lkml/git/9.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \ email@example.com public-inbox-index lkml Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git