All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.