* [GIT PULL] locking updates for v7.3
@ 2026-08-17 9:50 Ingo Molnar
0 siblings, 0 replies; only message in thread
From: Ingo Molnar @ 2026-08-17 9:50 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, Peter Zijlstra, Thomas Gleixner, Will Deacon,
Waiman Long, Boqun Feng
Linus,
Please pull the latest locking/core Git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-2026-08-17
for you to fetch changes up to ec4fad7c2bdc80c62fa73f799b77ad299f73dcc3:
Locking updates for v7.3:
Futexes:
- Use runtime constants for futex_hash computation
(K Prateek Nayak, Peter Zijlstra)
- Optimise the size check get_futex_key() (Sebastian Andrzej Siewior)
- Avoid private hash use-after-free on final put (Felix Hoffmann)
- Tell kmemleak we're not leaking __futex_queues (Peter Zijlstra)
Rust integration updates:
- Implement refcounted interrupt disable and SpinLockIrq for Rust
(Boqun Feng, Heiko Carstens, Joel Fernandes, Lyude Paul)
- Rust sync: add helpers for mb, dma_mb and friends;
add generic memory barriers and use LKMM atomics
instead of Rust atomics in the revocable code (Gary Guo)
- Add abstraction and integrate synchronize_rcu() (Philipp Stanner)
Lock debugging:
- Add qspinlock contended_release tracepoint
(Dmitry Ilvokhin, Peter Zijlstra)
- Enable the printing of held locks of remote running tasks and print
task CPU (Ingo Molnar)
- percpu-rwsem: Annotate intentional data race in readers_active_check()
(Sun Shaojie)
Misc fixes and updates by Boqun Feng, Peter Zijlstra, Fangrui Song,
Naveen Kumar Chaudhary and Thomas Huth.
Thanks,
Ingo
------------------>
Boqun Feng (9):
preempt: Introduce HARDIRQ_DISABLE_BITS
preempt: Introduce __preempt_count_{sub,add}_return()
irq,spin_lock: Add counted interrupt disabling/enabling
locking: Switch to _irq_{disable,enable}() variants in cleanup guards
sched: Remove the unused preempt_offset parameter of __cant_sleep()
sched: Avoid signed comparison of preempt_count() in __cant_migrate()
preempt: Introduce HAS_SEPARATE_PREEMPT_RESCHED_BITS
arm64: sched/preempt: Enable HAS_SEPARATE_PREEMPT_RESCHED_BITS
rust: helper: Add spin_{un,}lock_irq_{enable,disable}() helpers
Dmitry Ilvokhin (4):
locking: Factor out queued_spin_release()
locking/qspinlock: Add contended_release tracepoint
tracing/lock: Use TRACE_EVENT_FN() for contended_release
x86/paravirt: Trace contended_release on unlock
Fangrui Song (1):
riscv/runtime-const: Disable linker relaxation for RUNTIME_MAGIC
Felix Hoffmann (1):
futex: Avoid private hash use-after-free on final put
Gary Guo (3):
rust: sync: Add helpers for mb, dma_mb and friends
rust: sync: Add generic memory barriers
rust: revocable: Use LKMM atomics instead of Rust atomics
Heiko Carstens (1):
s390/preempt: Enable HAS_SEPARATE_PREEMPT_RESCHED_BITS
Ingo Molnar (1):
lockdep: Enable the printing of held locks of remote running tasks and print task CPU
Joel Fernandes (1):
preempt: Track NMI nesting to separate per-CPU counter
K Prateek Nayak (5):
arm64/runtime-const: Use aarch64_insn_patch_text_nosync() for patching
arm64/runtime-const: Introduce runtime_const_mask_32()
riscv/runtime-const: Replace open-coded placeholder with RUNTIME_MAGIC
riscv/runtime-const: Introduce runtime_const_mask_32()
s390/runtime-const: Introduce runtime_const_mask_32()
Lyude Paul (6):
openrisc: Include <linux/cpumask.h> in smp.h
irq: Add KUnit test for refcounted interrupt enable/disable
rust: Introduce interrupt module
rust: sync: Use super::* in spinlock.rs
rust: sync: Add SpinLockIrq
rust: sync: Introduce SpinLockIrq::lock_with() and friends
Naveen Kumar Chaudhary (1):
locking/lockdep: Fix NULL pointer dereference in __lock_set_class()
Peter Zijlstra (5):
x86/runtime-const: Introduce runtime_const_mask_32()
asm-generic/runtime-const: Add dummy runtime_const_mask_32()
futex: Use runtime constants for __futex_hash() hot path
x86/paravirt: Use static_call() for the paravirt spinlock ops
futex: Tell kmemleak we're not leaking __futex_queues
Philipp Stanner (3):
rust: sync: Add abstraction for synchronize_rcu()
rust: revocable: Use safe synchronize_rcu() abstraction
rust: sync: Use safe synchronize_rcu() abstraction in poll
Sebastian Andrzej Siewior (1):
futex: Optimise the size check get_futex_key()
Sun Shaojie (1):
locking/percpu-rwsem: Annotate intentional data race in readers_active_check()
Thomas Huth (1):
static_call / jump_label: Replace __ASSEMBLY__ with __ASSEMBLER__ in headers
arch/arm/include/asm/jump_label.h | 4 +-
arch/arm64/Kconfig | 1 +
arch/arm64/include/asm/preempt.h | 20 ++
arch/arm64/include/asm/runtime-const.h | 63 ++++-
arch/mips/include/asm/spinlock.h | 6 +-
arch/openrisc/include/asm/smp.h | 2 +
arch/riscv/include/asm/asm.h | 1 +
arch/riscv/include/asm/runtime-const.h | 84 +++++--
arch/s390/Kconfig | 1 +
arch/s390/include/asm/lowcore.h | 13 +-
arch/s390/include/asm/preempt.h | 51 ++--
arch/s390/include/asm/runtime-const.h | 22 +-
arch/x86/Kconfig | 1 +
arch/x86/hyperv/hv_spinlock.c | 4 +-
arch/x86/include/asm/cpufeatures.h | 2 +-
arch/x86/include/asm/paravirt-spinlock.h | 21 +-
arch/x86/include/asm/preempt.h | 61 +++--
arch/x86/include/asm/runtime-const.h | 14 ++
arch/x86/kernel/cpu/common.c | 2 +-
arch/x86/kernel/kvm.c | 5 +-
arch/x86/kernel/paravirt-spinlocks.c | 63 ++++-
arch/x86/kernel/static_call.c | 27 ++
arch/x86/xen/spinlock.c | 5 +-
include/asm-generic/preempt.h | 14 ++
include/asm-generic/qspinlock.h | 38 ++-
include/asm-generic/runtime-const.h | 1 +
include/asm-generic/vmlinux.lds.h | 5 +-
include/linux/hardirq.h | 40 ++-
include/linux/interrupt_rc.h | 82 ++++++
include/linux/jump_label.h | 10 +-
include/linux/kernel.h | 4 +-
include/linux/preempt.h | 44 +++-
include/linux/spinlock.h | 49 ++--
include/linux/spinlock_api_smp.h | 41 +++
include/linux/spinlock_api_up.h | 15 ++
include/linux/spinlock_rt.h | 18 ++
include/linux/static_call_types.h | 4 +-
include/trace/events/lock.h | 10 +-
kernel/Kconfig.locks | 20 ++
kernel/Kconfig.preempt | 4 +
kernel/futex/core.c | 58 +++--
kernel/irq/Makefile | 1 +
kernel/irq/refcount_interrupt_test.c | 109 ++++++++
kernel/locking/lockdep.c | 36 ++-
kernel/locking/mutex.c | 4 +
kernel/locking/percpu-rwsem.c | 2 +-
kernel/locking/qspinlock.c | 22 ++
kernel/locking/spinlock.c | 31 +++
kernel/sched/core.c | 18 +-
kernel/sched/fair.c | 12 +-
kernel/softirq.c | 36 ++-
lib/locking-selftest.c | 2 +-
rust/helpers/barrier.c | 30 +++
rust/helpers/helpers.c | 1 +
rust/helpers/interrupt.c | 13 +
rust/helpers/spinlock.c | 15 ++
rust/helpers/sync.c | 5 +
rust/kernel/interrupt.rs | 89 +++++++
rust/kernel/lib.rs | 1 +
rust/kernel/revocable.rs | 28 ++-
rust/kernel/sync.rs | 9 +-
rust/kernel/sync/atomic/ordering.rs | 2 +-
rust/kernel/sync/barrier.rs | 127 +++++++---
rust/kernel/sync/lock/global.rs | 3 +
rust/kernel/sync/lock/spinlock.rs | 329 ++++++++++++++++++++++++-
rust/kernel/sync/poll.rs | 10 +-
rust/kernel/sync/rcu.rs | 16 ++
tools/arch/x86/include/asm/cpufeatures.h | 2 +-
tools/include/linux/static_call_types.h | 4 +-
tools/testing/selftests/bpf/bpf_experimental.h | 7 +-
70 files changed, 1653 insertions(+), 241 deletions(-)
create mode 100644 include/linux/interrupt_rc.h
create mode 100644 kernel/irq/refcount_interrupt_test.c
create mode 100644 rust/helpers/interrupt.c
create mode 100644 rust/kernel/interrupt.rs
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-17 9:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-17 9:50 [GIT PULL] locking updates for v7.3 Ingo Molnar
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.