[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260117122243.24404-1-boqun.feng@gmail.com>
Date: Sat, 17 Jan 2026 20:22:38 +0800
From: Boqun Feng <boqun.feng@...il.com>
To: rust-for-linux@...r.kernel.org,
linux-kernel@...r.kernel.org,
rcu@...r.kernel.org
Cc: Miguel Ojeda <ojeda@...nel.org>,
Boqun Feng <boqun.feng@...il.com>,
Gary Guo <gary@...yguo.net>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>,
Benno Lossin <lossin@...nel.org>,
Andreas Hindborg <a.hindborg@...nel.org>,
Alice Ryhl <aliceryhl@...gle.com>,
Trevor Gross <tmgross@...ch.edu>,
Danilo Krummrich <dakr@...nel.org>,
Will Deacon <will@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Mark Rutland <mark.rutland@....com>,
"Paul E. McKenney" <paulmck@...nel.org>,
Frederic Weisbecker <frederic@...nel.org>,
Neeraj Upadhyay <neeraj.upadhyay@...nel.org>,
Joel Fernandes <joelagnelf@...dia.com>,
Josh Triplett <josh@...htriplett.org>,
Uladzislau Rezki <urezki@...il.com>,
Steven Rostedt <rostedt@...dmis.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Lai Jiangshan <jiangshanlai@...il.com>,
Zqiang <qiang.zhang@...ux.dev>,
FUJITA Tomonori <fujita.tomonori@...il.com>
Subject: [PATCH 0/5] rust: sync: Atomic pointer and RCU
Hi,
This is a respin of my previous RCU pointer patch [1]. RCU protected
pointers maps to a "struct foo __rcu *" on the C side, which although
RCU has its own API, but fundamentally it's a pointer that are operated
atomically, hence using Rust's atomic (pointer) API provides the
necessary atomic + ordering.
Although asynchronous reclaim is not in the current implementation, but
it should be easy to extend.
[1]: https://lore.kernel.org/rust-for-linux/20250421164221.1121805-13-boqun.feng@gmail.com/
Regards,
Boqun
Boqun Feng (5):
rust: helpers: Generify the definitions of rust_helper_*_{read,set}*
rust: helpers: Generify the definitions of rust_helper_*_xchg*
rust: helpers: Generify the definitions of rust_helper_*_cmpxchg*
rust: sync: atomic: Add Atomic<*mut T> support
rust: sync: rcu: Add RCU protected pointer
rust/helpers/atomic_ext.c | 158 +++++--------
rust/kernel/sync/atomic.rs | 12 +-
rust/kernel/sync/atomic/internal.rs | 21 +-
rust/kernel/sync/atomic/predefine.rs | 23 ++
rust/kernel/sync/rcu.rs | 326 ++++++++++++++++++++++++++-
5 files changed, 427 insertions(+), 113 deletions(-)
--
2.51.0
Powered by blists - more mailing lists