On Sat, Mar 23, 2024 at 10:58:16AM +0100, Alice Ryhl wrote: > On Sat, Mar 23, 2024 at 12:52 AM Andrew Lunn <andrew@xxxxxxx> wrote: > > > > > +//! These primitives should have the same semantics as their C counterparts, for precise definitions > > > +//! of the semantics, please refer to tools/memory-model. Note that Linux Kernel Memory > > > +//! (Consistency) Model is the only model for Rust development in kernel right now, please avoid to > > > +//! use Rust's own atomics. > > > > Is it possible to somehow poison rusts own atomics? I would not be > > too surprised if somebody with good Rust knowledge but new to the > > kernel tries using Rusts atomics. Either getting the compiler to fail > > the build, or it throws an Opps on first invocation would be good. > > We could try to get a flag added to the Rust standard library that > removes the core::sync::atomic module entirely, then pass that flag. Just looking down the road a bit, are there other features in the standard library which are not applicable to Linux kernel space? Ideally we want a solution not just for atomics but a generic solution which can disable a collection of features? Maybe one by one? And i assume somebody will try to use Rust in uboot/barebox. It probably has similar requirements to the Linux kernel? But what about Zephyr? Or VxWorks? Darwin? Andrew