* [GIT PULL] locking changes for v6.18
@ 2025-09-26 14:45 Ingo Molnar
2025-09-26 15:55 ` Boqun Feng
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Ingo Molnar @ 2025-09-26 14:45 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, Peter Zijlstra, Thomas Gleixner, Will Deacon,
Waiman Long, Boqun Feng, Borislav Petkov, Uros Bizjak,
Sebastian Andrzej Siewior, Gary Guo
Linus,
Please pull the latest locking/core Git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-2025-09-26
# HEAD: 17d9f8eaa87d40a2ff66598875a43363e37a909b MAINTAINERS: update atomic infrastructure entry to include Rust
Locking updates for v6.16 mostly include Rust runtime enhancements:
- Add initial support for generic LKMM atomic variables in Rust. (Boqun Feng)
- Add the wrapper for `refcount_t` in Rust. (Gary Guo)
- Make `data` in `Lock` structurally pinned. (Daniel Almeida)
- Add a new reviewer, Gary Guo.
Thanks,
Ingo
------------------>
Boqun Feng (9):
rust: Introduce atomic API helpers
rust: sync: Add basic atomic operation mapping framework
rust: sync: atomic: Add ordering annotation types
rust: sync: atomic: Add generic atomics
rust: sync: atomic: Add atomic {cmp,}xchg operations
rust: sync: atomic: Add the framework of arithmetic operations
rust: sync: atomic: Add Atomic<u{32,64}>
rust: sync: atomic: Add Atomic<{usize,isize}>
rust: sync: Add memory barriers
Gary Guo (5):
rust: implement `kernel::sync::Refcount`
rust: make `Arc::into_unique_or_drop` associated function
rust: convert `Arc` to use `Refcount`
rust: block: convert `block::mq` to use `Refcount`
MAINTAINERS: update atomic infrastructure entry to include Rust
MAINTAINERS | 6 +-
rust/helpers/atomic.c | 1040 +++++++++++++++++++++++++++++
rust/helpers/barrier.c | 18 +
rust/helpers/helpers.c | 2 +
rust/helpers/refcount.c | 10 +
rust/kernel/block/mq/operations.rs | 7 +-
rust/kernel/block/mq/request.rs | 73 +-
rust/kernel/sync.rs | 4 +
rust/kernel/sync/arc.rs | 55 +-
rust/kernel/sync/atomic.rs | 551 +++++++++++++++
rust/kernel/sync/atomic/internal.rs | 265 ++++++++
rust/kernel/sync/atomic/ordering.rs | 104 +++
rust/kernel/sync/atomic/predefine.rs | 169 +++++
rust/kernel/sync/barrier.rs | 61 ++
rust/kernel/sync/refcount.rs | 113 ++++
scripts/atomic/gen-atomics.sh | 1 +
scripts/atomic/gen-rust-atomic-helpers.sh | 67 ++
17 files changed, 2454 insertions(+), 92 deletions(-)
create mode 100644 rust/helpers/atomic.c
create mode 100644 rust/helpers/barrier.c
create mode 100644 rust/kernel/sync/atomic.rs
create mode 100644 rust/kernel/sync/atomic/internal.rs
create mode 100644 rust/kernel/sync/atomic/ordering.rs
create mode 100644 rust/kernel/sync/atomic/predefine.rs
create mode 100644 rust/kernel/sync/barrier.rs
create mode 100644 rust/kernel/sync/refcount.rs
create mode 100755 scripts/atomic/gen-rust-atomic-helpers.sh
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PULL] locking changes for v6.18
2025-09-26 14:45 [GIT PULL] locking changes for v6.18 Ingo Molnar
@ 2025-09-26 15:55 ` Boqun Feng
2025-09-30 21:03 ` pr-tracker-bot
2025-12-01 8:53 ` [GIT PULL] locking updates for v6.19 Ingo Molnar
2 siblings, 0 replies; 5+ messages in thread
From: Boqun Feng @ 2025-09-26 15:55 UTC (permalink / raw)
To: Ingo Molnar
Cc: Linus Torvalds, linux-kernel, Peter Zijlstra, Thomas Gleixner,
Will Deacon, Waiman Long, Borislav Petkov, Uros Bizjak,
Sebastian Andrzej Siewior, Gary Guo
On Fri, Sep 26, 2025 at 04:45:25PM +0200, Ingo Molnar wrote:
> Linus,
>
Hi Ingo,
The commits in the pull request look good to me, however I find the
description has some problems.
> Please pull the latest locking/core Git tree from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-2025-09-26
>
> # HEAD: 17d9f8eaa87d40a2ff66598875a43363e37a909b MAINTAINERS: update atomic infrastructure entry to include Rust
>
> Locking updates for v6.16 mostly include Rust runtime enhancements:
>
This should be v6.18, right?
> - Add initial support for generic LKMM atomic variables in Rust. (Boqun Feng)
> - Add the wrapper for `refcount_t` in Rust. (Gary Guo)
> - Make `data` in `Lock` structurally pinned. (Daniel Almeida)
This part is not in the pull request. I had two pull requests to tip
tree this cycle:
* For atomics: https://lore.kernel.org/rust-for-linux/20250905044141.77868-1-boqun.feng@gmail.com/
* For locking: https://lore.kernel.org/rust-for-linux/20250919091241.32138-1-boqun.feng@gmail.com/
The second one contains the part you mentioned above, but it's never
been merged into tip tree, so it doesn't exist in tag
locking-core-2025-09-26.
Regards,
Boqun
> - Add a new reviewer, Gary Guo.
>
> Thanks,
>
> Ingo
>
> ------------------>
> Boqun Feng (9):
> rust: Introduce atomic API helpers
> rust: sync: Add basic atomic operation mapping framework
> rust: sync: atomic: Add ordering annotation types
> rust: sync: atomic: Add generic atomics
> rust: sync: atomic: Add atomic {cmp,}xchg operations
> rust: sync: atomic: Add the framework of arithmetic operations
> rust: sync: atomic: Add Atomic<u{32,64}>
> rust: sync: atomic: Add Atomic<{usize,isize}>
> rust: sync: Add memory barriers
>
> Gary Guo (5):
> rust: implement `kernel::sync::Refcount`
> rust: make `Arc::into_unique_or_drop` associated function
> rust: convert `Arc` to use `Refcount`
> rust: block: convert `block::mq` to use `Refcount`
> MAINTAINERS: update atomic infrastructure entry to include Rust
>
>
> MAINTAINERS | 6 +-
> rust/helpers/atomic.c | 1040 +++++++++++++++++++++++++++++
> rust/helpers/barrier.c | 18 +
> rust/helpers/helpers.c | 2 +
> rust/helpers/refcount.c | 10 +
> rust/kernel/block/mq/operations.rs | 7 +-
> rust/kernel/block/mq/request.rs | 73 +-
> rust/kernel/sync.rs | 4 +
> rust/kernel/sync/arc.rs | 55 +-
> rust/kernel/sync/atomic.rs | 551 +++++++++++++++
> rust/kernel/sync/atomic/internal.rs | 265 ++++++++
> rust/kernel/sync/atomic/ordering.rs | 104 +++
> rust/kernel/sync/atomic/predefine.rs | 169 +++++
> rust/kernel/sync/barrier.rs | 61 ++
> rust/kernel/sync/refcount.rs | 113 ++++
> scripts/atomic/gen-atomics.sh | 1 +
> scripts/atomic/gen-rust-atomic-helpers.sh | 67 ++
> 17 files changed, 2454 insertions(+), 92 deletions(-)
> create mode 100644 rust/helpers/atomic.c
> create mode 100644 rust/helpers/barrier.c
> create mode 100644 rust/kernel/sync/atomic.rs
> create mode 100644 rust/kernel/sync/atomic/internal.rs
> create mode 100644 rust/kernel/sync/atomic/ordering.rs
> create mode 100644 rust/kernel/sync/atomic/predefine.rs
> create mode 100644 rust/kernel/sync/barrier.rs
> create mode 100644 rust/kernel/sync/refcount.rs
> create mode 100755 scripts/atomic/gen-rust-atomic-helpers.sh
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PULL] locking changes for v6.18
2025-09-26 14:45 [GIT PULL] locking changes for v6.18 Ingo Molnar
2025-09-26 15:55 ` Boqun Feng
@ 2025-09-30 21:03 ` pr-tracker-bot
2025-12-01 8:53 ` [GIT PULL] locking updates for v6.19 Ingo Molnar
2 siblings, 0 replies; 5+ messages in thread
From: pr-tracker-bot @ 2025-09-30 21:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: Linus Torvalds, linux-kernel, Peter Zijlstra, Thomas Gleixner,
Will Deacon, Waiman Long, Boqun Feng, Borislav Petkov,
Uros Bizjak, Sebastian Andrzej Siewior, Gary Guo
The pull request you sent on Fri, 26 Sep 2025 16:45:25 +0200:
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-2025-09-26
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/88b489385bfe3713497a63c0dcf4dd7852cf4568
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* [GIT PULL] locking updates for v6.19
2025-09-26 14:45 [GIT PULL] locking changes for v6.18 Ingo Molnar
2025-09-26 15:55 ` Boqun Feng
2025-09-30 21:03 ` pr-tracker-bot
@ 2025-12-01 8:53 ` Ingo Molnar
2025-12-02 5:54 ` pr-tracker-bot
2 siblings, 1 reply; 5+ messages in thread
From: Ingo Molnar @ 2025-12-01 8:53 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, Peter Zijlstra, Thomas Gleixner, Will Deacon,
Waiman Long, Boqun Feng, Borislav Petkov, Uros Bizjak,
Sebastian Andrzej Siewior, Gary Guo, Oleg Nesterov
Linus,
Please pull the latest locking/core Git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-2025-12-01
# HEAD: 43decb6b628eb033a1b6188e5018773c0d38be1d locking/local_lock: Fix all kernel-doc warnings
#
# MERGE NOTE: Had to rebase the final 4 commits due to a SOB chain fail.
#
Locking updates for v6.19:
Mutexes:
- Redo __mutex_init() to reduce generated code size
(Sebastian Andrzej Siewior)
Seqlocks:
- Introduce scoped_seqlock_read() (Peter Zijlstra)
- Change thread_group_cputime() to use scoped_seqlock_read()
(Oleg Nesterov)
- Change do_task_stat() to use scoped_seqlock_read()
(Oleg Nesterov)
- Change do_io_accounting() to use scoped_seqlock_read()
(Oleg Nesterov)
- Fix the incorrect documentation of read_seqbegin_or_lock() /
need_seqretry() (Oleg Nesterov)
- Allow KASAN to fail optimizing (Peter Zijlstra)
Local lock updates:
- Fix all kernel-doc warnings (Randy Dunlap)
- Add the <linux/local_lock*.h> headers to MAINTAINERS
(Sebastian Andrzej Siewior)
- Reduce the risk of shadowing via s/l/__l/ and s/tl/__tl/
(Vincent Mailhol)
Lock debugging:
- spinlock/debug: Fix data-race in do_raw_write_lock
(Alexander Sverdlin)
Atomic primitives infrastructure:
- atomic: Skip alignment check for try_cmpxchg() old arg
(Arnd Bergmann)
Rust runtime integration:
- sync: atomic: Enable generated Atomic<T> usage (Boqun Feng)
- sync: atomic: Implement Debug for Atomic<Debug> (Boqun Feng)
- debugfs: Remove Rust native atomics and replace them with
Linux versions (Boqun Feng)
- debugfs: Implement Reader for Mutex<T> only when T is Unpin
(Boqun Feng)
- lock: guard: Add T: Unpin bound to DerefMut (Daniel Almeida)
- lock: Pin the inner data (Daniel Almeida)
- lock: Add a Pin<&mut T> accessor (Daniel Almeida)
Thanks,
Ingo
------------------>
Alexander Sverdlin (1):
locking/spinlock/debug: Fix data-race in do_raw_write_lock
Arnd Bergmann (1):
atomic: Skip alignment check for try_cmpxchg() old arg
Boqun Feng (4):
rust: debugfs: Implement Reader for Mutex<T> only when T is Unpin
rust: sync: atomic: Make Atomic*Ops pub(crate)
rust: sync: atomic: Implement Debug for Atomic<Debug>
rust: debugfs: Replace the usage of Rust native atomics
Daniel Almeida (3):
rust: lock: guard: Add T: Unpin bound to DerefMut
rust: lock: Pin the inner data
rust: lock: Add a Pin<&mut T> accessor
Oleg Nesterov (4):
documentation: seqlock: fix the wrong documentation of read_seqbegin_or_lock/need_seqretry
seqlock: Change thread_group_cputime() to use scoped_seqlock_read()
seqlock: Change do_task_stat() to use scoped_seqlock_read()
seqlock: Change do_io_accounting() to use scoped_seqlock_read()
Peter Zijlstra (2):
seqlock: Introduce scoped_seqlock_read()
seqlock: Allow KASAN to fail optimizing
Randy Dunlap (1):
locking/local_lock: Fix all kernel-doc warnings
Sebastian Andrzej Siewior (2):
locking/mutex: Redo __mutex_init() to reduce generated code size
locking/local_lock: Add the <linux/local_lock*.h> headers to MAINTAINERS
Vincent Mailhol (1):
locking/local_lock: s/l/__l/ and s/tl/__tl/ to reduce the risk of shadowing
Documentation/locking/seqlock.rst | 9 ++-
MAINTAINERS | 1 +
fs/proc/array.c | 9 +--
fs/proc/base.c | 13 +---
include/linux/atomic/atomic-instrumented.h | 26 +++----
include/linux/local_lock.h | 4 +-
include/linux/local_lock_internal.h | 62 ++++++++--------
include/linux/mutex.h | 45 +++++++++---
include/linux/seqlock.h | 114 +++++++++++++++++++++++++++++
kernel/locking/mutex-debug.c | 10 +--
kernel/locking/mutex.c | 28 +++++--
kernel/locking/mutex.h | 5 +-
kernel/locking/rtmutex_api.c | 19 ++++-
kernel/locking/spinlock_debug.c | 4 +-
kernel/sched/cputime.c | 20 ++---
rust/kernel/debugfs/traits.rs | 55 +++++---------
rust/kernel/sync/atomic.rs | 12 ++-
rust/kernel/sync/lock.rs | 41 ++++++++++-
rust/kernel/sync/lock/global.rs | 5 +-
samples/rust/rust_debugfs.rs | 12 ++-
samples/rust/rust_debugfs_scoped.rs | 6 +-
scripts/atomic/gen-atomic-instrumented.sh | 11 ++-
22 files changed, 339 insertions(+), 172 deletions(-)
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PULL] locking updates for v6.19
2025-12-01 8:53 ` [GIT PULL] locking updates for v6.19 Ingo Molnar
@ 2025-12-02 5:54 ` pr-tracker-bot
0 siblings, 0 replies; 5+ messages in thread
From: pr-tracker-bot @ 2025-12-02 5:54 UTC (permalink / raw)
To: Ingo Molnar
Cc: Linus Torvalds, linux-kernel, Peter Zijlstra, Thomas Gleixner,
Will Deacon, Waiman Long, Boqun Feng, Borislav Petkov,
Uros Bizjak, Sebastian Andrzej Siewior, Gary Guo, Oleg Nesterov
The pull request you sent on Mon, 1 Dec 2025 09:53:05 +0100:
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-2025-12-01
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/b53440f8e5a1466870d7a1d255e0f9966e0041fb
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-12-02 5:57 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-26 14:45 [GIT PULL] locking changes for v6.18 Ingo Molnar
2025-09-26 15:55 ` Boqun Feng
2025-09-30 21:03 ` pr-tracker-bot
2025-12-01 8:53 ` [GIT PULL] locking updates for v6.19 Ingo Molnar
2025-12-02 5:54 ` pr-tracker-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox