public inbox for rust-for-linux@vger.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL][PATCH 00/36] Rust synchronization changes for v7.0
@ 2026-01-11 11:57 Boqun Feng
  2026-01-11 11:57 ` [PATCH 01/36] rust: sync: Refactor static_lock_class!() macro Boqun Feng
                   ` (4 more replies)
  0 siblings, 5 replies; 39+ messages in thread
From: Boqun Feng @ 2026-01-11 11:57 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar
  Cc: rust-for-linux, linux-kernel, Will Deacon, Mark Rutland,
	Thomas Gleixner, Miguel Ojeda, Gary Guo, Alice Ryhl,
	Andreas Hindborg, Benno Lossin, Danilo Krummrich, Boqun Feng

Peter,

Please pull the following changes of Rust synchronization for 7.0 into
tip/locking/core, you can find the details of the changes in the git tag
message below.

Thanks!

Regards,
Boqun

----------------------------------------------------------------

The following changes since commit a45026cef17d1080c985adf28234d6c8475ad66f:

  locking/local_lock: Include more missing headers (2026-01-08 11:21:57 +0100)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git/ tags/rust-sync-7.0

for you to fetch changes up to ccf9e070116a81d29aae30db501d562c8efd1ed8:

  rust: sync: Inline various lock related methods (2026-01-10 10:53:46 +0800)

----------------------------------------------------------------
Rust synchronization changes for v7.0:

- Add support for Atomic<i8/i16/bool> and replace most Rust native AtomicBool
  usages with Atomic<bool>, and further switching will require Atomic<Flag>
- Clean up LockClassKey and improve its docs
- Add missing Send and Sync trait impl for SetOnce
- Make ARef Unpin as it is supposed to be
- Add __rust_helper to a few Rust helpers as a preparation for helper LTO
- Inline various lock related functions to avoid additional function calls.
-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEEj5IosQTPz8XU1wRHSXnow7UH+rgFAmljjIkACgkQSXnow7UH
+rizPQgAi5rdVoIpjN9BaQtWVHcAwBhbD7WhboxDhsSdEl3yaw0E7OLML5IyupLP
BUsrI5BAhwUaIpE/4PT9RePLCOeFqCKfz9eyQpb6uEwLVKcx8WESrItrlStqK8dG
lAZEV07SwAWq/ARsgI02LZnyDQxxBrX8Q4FKZgglpaBxieVXmQjekcSF2W6s3lka
qWXB7MU38D3DZjKr6Lpp8BjdI7qTNInEZDGtRPncIId+4Jj7V5IpEX/NThyrDLp1
M0UzXOMzexIfeSm3oz95II6R+GeDpruI6pN8QDtljaTL0Al5/z5yO8Zj9KIPGAl4
9JRUJ0pNVrAUljjJ4ap8hIMPlOWqjw==
=JOZ1
-----END PGP SIGNATURE-----

----------------------------------------------------------------
Alice Ryhl (16):
      rust: sync: Refactor static_lock_class!() macro
      rust: sync: Clean up LockClassKey and its docs
      rust: sync: Implement Unpin for ARef
      rust: barrier: Add __rust_helper to helpers
      rust: blk: Add __rust_helper to helpers
      rust: completion: Add __rust_helper to helpers
      rust: cpu: Add __rust_helper to helpers
      rust: processor: Add __rust_helper to helpers
      rust: rcu: Add __rust_helper to helpers
      rust: refcount: Add __rust_helper to helpers
      rust: sync: Add __rust_helper to helpers
      rust: task: Add __rust_helper to helpers
      rust: time: Add __rust_helper to helpers
      rust: wait: Add __rust_helper to helpers
      rust: helpers: Move #define __rust_helper out of atomic.c
      rust: sync: Inline various lock related methods

Boqun Feng (1):
      arch: um/x86: Select ARCH_SUPPORTS_ATOMIC_RMW for UML_X86

FUJITA Tomonori (19):
      rust: sync: set_once: Implement Send and Sync
      rust: helpers: Add i8/i16 atomic_read_acquire/atomic_set_release helpers
      rust: helpers: Add i8/i16 relaxed atomic helpers
      rust: helpers: Add i8/i16 atomic xchg helpers
      rust: helpers: Add i8/i16 atomic xchg_acquire helpers
      rust: helpers: Add i8/i16 atomic xchg_release helpers
      rust: helpers: Add i8/i16 atomic xchg_relaxed helpers
      rust: helpers: Add i8/i16 atomic try_cmpxchg helpers
      rust: helpers: Add i8/i16 atomic try_cmpxchg_acquire helpers
      rust: helpers: Add i8/i16 atomic try_cmpxchg_release helpers
      rust: helpers: Add i8/i16 atomic try_cmpxchg_relaxed helpers
      rust: sync: atomic: Prepare AtomicOps macros for i8/i16 support
      rust: sync: atomic: Add i8/i16 load and store support
      rust: sync: atomic: Add store_release/load_acquire tests
      rust: sync: atomic: Add i8/i16 xchg and cmpxchg support
      rust: sync: atomic: Add atomic bool support via i8 representation
      rust: sync: atomic: Add atomic bool tests
      rust: list: Switch to kernel::sync atomic primitives
      rust_binder: Switch to kernel::sync atomic primitives

 arch/x86/um/Kconfig                        |   1 +
 drivers/android/binder/rust_binder_main.rs |  20 ++---
 drivers/android/binder/stats.rs            |   8 +-
 drivers/android/binder/thread.rs           |  24 +++--
 drivers/android/binder/transaction.rs      |  16 ++--
 rust/helpers/atomic.c                      |   7 +-
 rust/helpers/atomic_ext.c                  | 139 +++++++++++++++++++++++++++++
 rust/helpers/barrier.c                     |   6 +-
 rust/helpers/blk.c                         |   4 +-
 rust/helpers/completion.c                  |   2 +-
 rust/helpers/cpu.c                         |   2 +-
 rust/helpers/helpers.c                     |   3 +
 rust/helpers/mutex.c                       |  13 +--
 rust/helpers/processor.c                   |   2 +-
 rust/helpers/rcu.c                         |   4 +-
 rust/helpers/refcount.c                    |  10 +--
 rust/helpers/signal.c                      |   2 +-
 rust/helpers/spinlock.c                    |  13 +--
 rust/helpers/sync.c                        |   4 +-
 rust/helpers/task.c                        |  24 ++---
 rust/helpers/time.c                        |  14 +--
 rust/helpers/wait.c                        |   2 +-
 rust/kernel/list/arc.rs                    |  14 ++-
 rust/kernel/sync.rs                        |  74 +++++++++++----
 rust/kernel/sync/aref.rs                   |   3 +
 rust/kernel/sync/atomic/internal.rs        | 114 ++++++++++++++++++-----
 rust/kernel/sync/atomic/predefine.rs       |  55 +++++++++++-
 rust/kernel/sync/lock.rs                   |   7 ++
 rust/kernel/sync/lock/global.rs            |   2 +
 rust/kernel/sync/lock/mutex.rs             |   5 ++
 rust/kernel/sync/lock/spinlock.rs          |   5 ++
 rust/kernel/sync/set_once.rs               |   8 ++
 scripts/atomic/gen-rust-atomic-helpers.sh  |   5 --
 33 files changed, 462 insertions(+), 150 deletions(-)
 create mode 100644 rust/helpers/atomic_ext.c

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2026-01-13 10:43 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-11 11:57 [GIT PULL][PATCH 00/36] Rust synchronization changes for v7.0 Boqun Feng
2026-01-11 11:57 ` [PATCH 01/36] rust: sync: Refactor static_lock_class!() macro Boqun Feng
2026-01-11 11:57 ` [PATCH 02/36] rust: sync: Clean up LockClassKey and its docs Boqun Feng
2026-01-11 12:01 ` [PATCH 03/36] rust: sync: set_once: Implement Send and Sync Boqun Feng
2026-01-11 12:01   ` [PATCH 04/36] rust: sync: Implement Unpin for ARef Boqun Feng
2026-01-11 12:01   ` [PATCH 05/36] rust: helpers: Add i8/i16 atomic_read_acquire/atomic_set_release helpers Boqun Feng
2026-01-11 12:01   ` [PATCH 06/36] rust: helpers: Add i8/i16 relaxed atomic helpers Boqun Feng
2026-01-11 12:01   ` [PATCH 07/36] rust: helpers: Add i8/i16 atomic xchg helpers Boqun Feng
2026-01-11 12:01   ` [PATCH 08/36] rust: helpers: Add i8/i16 atomic xchg_acquire helpers Boqun Feng
2026-01-11 12:01   ` [PATCH 09/36] rust: helpers: Add i8/i16 atomic xchg_release helpers Boqun Feng
2026-01-11 12:01   ` [PATCH 10/36] rust: helpers: Add i8/i16 atomic xchg_relaxed helpers Boqun Feng
2026-01-11 12:01   ` [PATCH 11/36] rust: helpers: Add i8/i16 atomic try_cmpxchg helpers Boqun Feng
2026-01-11 12:01   ` [PATCH 12/36] rust: helpers: Add i8/i16 atomic try_cmpxchg_acquire helpers Boqun Feng
2026-01-11 12:01   ` [PATCH 13/36] rust: helpers: Add i8/i16 atomic try_cmpxchg_release helpers Boqun Feng
2026-01-11 12:01   ` [PATCH 14/36] rust: helpers: Add i8/i16 atomic try_cmpxchg_relaxed helpers Boqun Feng
2026-01-11 12:01   ` [PATCH 15/36] rust: sync: atomic: Prepare AtomicOps macros for i8/i16 support Boqun Feng
2026-01-11 12:01   ` [PATCH 16/36] arch: um/x86: Select ARCH_SUPPORTS_ATOMIC_RMW for UML_X86 Boqun Feng
2026-01-11 12:01   ` [PATCH 17/36] rust: sync: atomic: Add i8/i16 load and store support Boqun Feng
2026-01-11 12:01   ` [PATCH 18/36] rust: sync: atomic: Add store_release/load_acquire tests Boqun Feng
2026-01-11 12:01   ` [PATCH 19/36] rust: sync: atomic: Add i8/i16 xchg and cmpxchg support Boqun Feng
2026-01-11 12:01   ` [PATCH 20/36] rust: sync: atomic: Add atomic bool support via i8 representation Boqun Feng
2026-01-11 12:01   ` [PATCH 21/36] rust: sync: atomic: Add atomic bool tests Boqun Feng
2026-01-11 12:01   ` [PATCH 22/36] rust: list: Switch to kernel::sync atomic primitives Boqun Feng
2026-01-11 12:01   ` [PATCH 23/36] rust_binder: " Boqun Feng
2026-01-11 12:01   ` [PATCH 24/36] rust: barrier: Add __rust_helper to helpers Boqun Feng
2026-01-11 12:01   ` [PATCH 25/36] rust: blk: " Boqun Feng
2026-01-11 12:01   ` [PATCH 26/36] rust: completion: " Boqun Feng
2026-01-11 12:02   ` [PATCH 27/36] rust: cpu: " Boqun Feng
2026-01-11 12:02   ` [PATCH 28/36] rust: processor: " Boqun Feng
2026-01-11 12:02   ` [PATCH 29/36] rust: rcu: " Boqun Feng
2026-01-11 12:02   ` [PATCH 30/36] rust: refcount: " Boqun Feng
2026-01-11 12:02   ` [PATCH 31/36] rust: sync: " Boqun Feng
2026-01-11 12:02   ` [PATCH 32/36] rust: task: " Boqun Feng
2026-01-11 12:02   ` [PATCH 33/36] rust: time: " Boqun Feng
2026-01-11 12:02   ` [PATCH 34/36] rust: wait: " Boqun Feng
2026-01-11 12:02   ` [PATCH 35/36] rust: helpers: Move #define __rust_helper out of atomic.c Boqun Feng
2026-01-11 12:02   ` [PATCH 36/36] rust: sync: Inline various lock related methods Boqun Feng
2026-01-13 10:10 ` [GIT PULL][PATCH 00/36] Rust synchronization changes for v7.0 Boqun Feng
2026-01-13 10:43 ` Peter Zijlstra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox