From: Alice Ryhl <aliceryhl@google.com>
To: Gary Guo <gary@garyguo.net>
Cc: "Boqun Feng" <boqun.feng@gmail.com>,
"Will Deacon" <will@kernel.org>,
"Peter Zijlstra" <peterz@infradead.org>,
"Paul E. McKenney" <paulmck@kernel.org>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Matt Turner" <mattst88@gmail.com>,
"Magnus Lindholm" <linmag7@gmail.com>,
"Catalin Marinas" <catalin.marinas@arm.com>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <lossin@kernel.org>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Trevor Gross" <tmgross@umich.edu>,
"Danilo Krummrich" <dakr@kernel.org>,
"Mark Rutland" <mark.rutland@arm.com>,
"FUJITA Tomonori" <fujita.tomonori@gmail.com>,
"Frederic Weisbecker" <frederic@kernel.org>,
"Lyude Paul" <lyude@redhat.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Anna-Maria Behnsen" <anna-maria@linutronix.de>,
"John Stultz" <jstultz@google.com>,
"Stephen Boyd" <sboyd@kernel.org>,
"Alexander Viro" <viro@zeniv.linux.org.uk>,
"Christian Brauner" <brauner@kernel.org>,
"Jan Kara" <jack@suse.cz>,
linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
rust-for-linux@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 0/5] Add READ_ONCE and WRITE_ONCE to Rust
Date: Thu, 1 Jan 2026 00:53:39 +0000 [thread overview]
Message-ID: <aVXFk0L-FegoVJpC@google.com> (raw)
In-Reply-To: <20251231151216.23446b64.gary@garyguo.net>
On Wed, Dec 31, 2025 at 03:12:16PM +0000, Gary Guo wrote:
> On Wed, 31 Dec 2025 12:22:24 +0000
> Alice Ryhl <aliceryhl@google.com> wrote:
>
> > There are currently a few places in the kernel where we use volatile
> > reads when we really should be using `READ_ONCE`. To make it possible to
> > replace these with proper `READ_ONCE` calls, introduce a Rust version of
> > `READ_ONCE`.
> >
> > A new config option CONFIG_ARCH_USE_CUSTOM_READ_ONCE is introduced so
> > that Rust is able to use conditional compilation to implement READ_ONCE
> > in terms of either a volatile read, or by calling into a C helper
> > function, depending on the architecture.
> >
> > This series is intended to be merged through ATOMIC INFRASTRUCTURE.
>
> Hi Alice,
>
> I would prefer not to expose the READ_ONCE/WRITE_ONCE functions, at
> least not with their atomic semantics.
>
> Both callsites that you have converted should be using
>
> Atomic::from_ptr().load(Relaxed)
>
> Please refer to the documentation of `Atomic` about this. Fujita has a
> series that expand the type to u8/u16 if you need narrower accesses.
Why? If we say that we're using the LKMM, then it seems confusing to not
have a READ_ONCE() for cases where we interact with C code, and that C
code documents that READ_ONCE() should be used.
Alice
next prev parent reply other threads:[~2026-01-01 0:53 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-31 12:22 [PATCH 0/5] Add READ_ONCE and WRITE_ONCE to Rust Alice Ryhl
2025-12-31 12:22 ` [PATCH 1/5] arch: add CONFIG_ARCH_USE_CUSTOM_READ_ONCE for arm64/alpha Alice Ryhl
2025-12-31 12:22 ` [PATCH 2/5] rust: sync: add READ_ONCE and WRITE_ONCE Alice Ryhl
2026-01-06 12:29 ` Andreas Hindborg
2026-01-06 12:53 ` Boqun Feng
2025-12-31 12:22 ` [PATCH 3/5] rust: sync: support using bool with READ_ONCE Alice Ryhl
2025-12-31 15:25 ` Gary Guo
2026-01-06 12:43 ` Peter Zijlstra
2026-01-06 12:51 ` Alice Ryhl
2026-01-06 18:12 ` Gary Guo
2026-01-07 8:33 ` Peter Zijlstra
2026-01-07 18:12 ` Gary Guo
2025-12-31 12:22 ` [PATCH 4/5] rust: hrtimer: use READ_ONCE instead of read_volatile Alice Ryhl
2026-01-01 2:11 ` FUJITA Tomonori
2026-01-01 4:00 ` FUJITA Tomonori
2026-01-06 12:37 ` Andreas Hindborg
2026-01-06 13:28 ` FUJITA Tomonori
2026-01-07 10:11 ` Andreas Hindborg
2026-01-07 11:22 ` FUJITA Tomonori
2026-01-07 18:21 ` Andreas Hindborg
2026-01-09 2:10 ` FUJITA Tomonori
2026-01-09 10:42 ` Andreas Hindborg
2026-01-07 11:51 ` Boqun Feng
2026-01-07 12:48 ` Andreas Hindborg
2026-01-06 15:23 ` Gary Guo
2026-01-06 18:43 ` Alice Ryhl
2026-01-07 0:47 ` John Hubbard
2026-01-07 1:08 ` Boqun Feng
2026-01-07 2:59 ` John Hubbard
2026-01-07 1:18 ` Boqun Feng
2025-12-31 12:22 ` [PATCH 5/5] rust: fs: " Alice Ryhl
2026-01-21 0:47 ` Boqun Feng
2025-12-31 15:12 ` [PATCH 0/5] Add READ_ONCE and WRITE_ONCE to Rust Gary Guo
2026-01-01 0:53 ` Alice Ryhl [this message]
2026-01-01 1:13 ` Boqun Feng
2026-01-06 12:41 ` Andreas Hindborg
2026-01-06 13:09 ` Boqun Feng
2026-01-06 14:56 ` Peter Zijlstra
2026-01-06 18:18 ` Paul E. McKenney
2026-01-06 19:28 ` Marco Elver
2026-01-09 2:09 ` Paul E. McKenney
2026-01-09 12:00 ` Marco Elver
2026-01-07 8:43 ` Peter Zijlstra
2026-01-07 19:17 ` Paul E. McKenney
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=aVXFk0L-FegoVJpC@google.com \
--to=aliceryhl@google.com \
--cc=a.hindborg@kernel.org \
--cc=anna-maria@linutronix.de \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=brauner@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=dakr@kernel.org \
--cc=frederic@kernel.org \
--cc=fujita.tomonori@gmail.com \
--cc=gary@garyguo.net \
--cc=jack@suse.cz \
--cc=jstultz@google.com \
--cc=linmag7@gmail.com \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lossin@kernel.org \
--cc=lyude@redhat.com \
--cc=mark.rutland@arm.com \
--cc=mattst88@gmail.com \
--cc=ojeda@kernel.org \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=richard.henderson@linaro.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=sboyd@kernel.org \
--cc=tglx@linutronix.de \
--cc=tmgross@umich.edu \
--cc=viro@zeniv.linux.org.uk \
--cc=will@kernel.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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.