[GIT PULL] [PATCH 00/13] Rust atomic changes for v7.1

Boqun Feng posted 13 patches 1 month ago
rust/helpers/atomic_ext.c            | 158 ++++++------------
rust/kernel/list/arc.rs              |   8 +-
rust/kernel/sync/atomic.rs           | 310 +++++++++++++++++++++++++++++++++--
rust/kernel/sync/atomic/internal.rs  |  44 +++--
rust/kernel/sync/atomic/predefine.rs | 109 ++++++++++++
5 files changed, 496 insertions(+), 133 deletions(-)
[GIT PULL] [PATCH 00/13] Rust atomic changes for v7.1
Posted by Boqun Feng 1 month ago
Hi Peter,

Please pull these changes of Rust atomic in v7.1 into tip/locking/core.
Major changes are the atomic pointer support and a boolean-like
AtomicFlag type (using a byte if arch support efficient xchg/cmpxchg
over bytes otherwise 4 bytes). Thanks!

Regards,
Boqun


The following changes since commit 3dcef70e41ab13483803c536ddea8d5f1803ee25:

  ww-mutex: Fix the ww_acquire_ctx function annotations (2026-02-27 16:40:20 +0100)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git tags/rust-atomic.20260303a

for you to fetch changes up to 68d1c8ac7f0b1f0de92a803b9b71090fd1b86d17:

  rust: atomic: Update a safety comment in impl of `fetch_add()` (2026-03-03 11:55:57 -0800)

----------------------------------------------------------------
Rust atomic changes for v7.1

* Add Atomic<ptr> support.
* Add an AtomicFlag type for boolean-like usage with
  architecture-specific performance optimization.
* Add unsafe atomic operations over raw pointers.
* Add `fetch_sub()` for atomic types.
* Documentation and example improvements.
-----BEGIN PGP SIGNATURE-----

iQFFBAABCAAvFiEEj5IosQTPz8XU1wRHSXnow7UH+rgFAmmnPU0RHGJvcXVuQGtl
cm5lbC5vcmcACgkQSXnow7UH+rgKrgf/UNZb0CmIG7d2jN1GsTHwYa8disAGlWFk
KOSTMNn83WICVhIIqUqrRcvSzR0FLwpp1jOH0lMYzZlfxQBOIoVc82xXD2SLLjAa
2VS/vknOitxAsChFceKs7w+hcQD168xSbDqo/dSxI/KO+OMQUxLqTW0zKTVYZhij
JIfv57Nv1331J+gnwici6/q3cBqP14Hv968cZ5Dw8tqWJMpMuqJPQLsgKg5um6Y0
hzpgXLkkB8Vg02qku/YdkcBFCvxWz5CifOpmLWNum+B82emELHmKhpOUdticuWof
iUkqygu4Un+QAcKb+8LG3L30UW3GBw4kEHpb357jc/EqZHvhX5aEYg==
=CYTx
-----END PGP SIGNATURE-----

----------------------------------------------------------------
Andreas Hindborg (3):
      rust: sync: atomic: Add fetch_sub()
      rust: sync: atomic: Update documentation for `fetch_add()`
      rust: atomic: Update a safety comment in impl of `fetch_add()`

Boqun Feng (7):
      rust: sync: atomic: Remove bound `T: Sync` for `Atomic::from_ptr()`
      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: Clarify the need of CONFIG_ARCH_SUPPORTS_ATOMIC_RMW
      rust: sync: atomic: Add Atomic<*{mut,const} T> support
      rust: sync: atomic: Add atomic operation helpers over raw pointers

FUJITA Tomonori (3):
      rust: sync: atomic: Add example for Atomic::get_mut()
      rust: sync: atomic: Add performance-optimal Flag type for atomic booleans
      rust: list: Use AtomicFlag in AtomicTracker

 rust/helpers/atomic_ext.c            | 158 ++++++------------
 rust/kernel/list/arc.rs              |   8 +-
 rust/kernel/sync/atomic.rs           | 310 +++++++++++++++++++++++++++++++++--
 rust/kernel/sync/atomic/internal.rs  |  44 +++--
 rust/kernel/sync/atomic/predefine.rs | 109 ++++++++++++
 5 files changed, 496 insertions(+), 133 deletions(-)
Re: [GIT PULL] [PATCH 00/13] Rust atomic changes for v7.1
Posted by Boqun Feng 1 month ago
On Tue, Mar 03, 2026 at 12:16:48PM -0800, Boqun Feng wrote:
> Hi Peter,
> 
> Please pull these changes of Rust atomic in v7.1 into tip/locking/core.
> Major changes are the atomic pointer support and a boolean-like
> AtomicFlag type (using a byte if arch support efficient xchg/cmpxchg
> over bytes otherwise 4 bytes). Thanks!
> 

Gentle ping ;-) Thanks!

Regards,
Boqun

> Regards,
> Boqun
> 
> 
> The following changes since commit 3dcef70e41ab13483803c536ddea8d5f1803ee25:
> 
>   ww-mutex: Fix the ww_acquire_ctx function annotations (2026-02-27 16:40:20 +0100)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git tags/rust-atomic.20260303a
> 
> for you to fetch changes up to 68d1c8ac7f0b1f0de92a803b9b71090fd1b86d17:
> 
>   rust: atomic: Update a safety comment in impl of `fetch_add()` (2026-03-03 11:55:57 -0800)
> 
> ----------------------------------------------------------------
> Rust atomic changes for v7.1
> 
> * Add Atomic<ptr> support.
> * Add an AtomicFlag type for boolean-like usage with
>   architecture-specific performance optimization.
> * Add unsafe atomic operations over raw pointers.
> * Add `fetch_sub()` for atomic types.
> * Documentation and example improvements.
> -----BEGIN PGP SIGNATURE-----
[...]