[GIT PULL] locking changes for v6.14

From: Ingo Molnar
Date: Mon Jan 20 2025 - 03:32:09 EST


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-01-20

# HEAD: cb4ccc70344c3dc29a5d0045361a4f0959bc5a6b MAINTAINERS: Add static_call_inline.c to STATIC BRANCH/CALL

Locking changes for v6.14:

- Lockdep:

- Improve and fix lockdep bitsize limits, clarify the Kconfig
documentation (Carlos Llamas)

- Fix lockdep build warning on Clang related to
chain_hlock_class_idx() inlining (Andy Shevchenko)

- Relax the requirements of PROVE_RAW_LOCK_NESTING arch support
by not tying it to ARCH_SUPPORTS_RT unnecessarily (Waiman Long)

- Rust integration:

- Support lock pointers managed by the C side (Lyude Paul)

- Support guard types (Lyude Paul)

- Update MAINTAINERS file filters to include the
Rust locking code (Boqun Feng)

- Wake-queues:

- Add raw_spin_*wake() helpers to simplify locking code (John Stultz)

- SMP cross-calls:

- Fix potential data update race by evaluating the local cond_func()
before IPI side-effects (Mathieu Desnoyers)

- Guard primitives:

- Ease [c]tags based searches by including the cleanup/guard type
primitives (Peter Zijlstra)

- ww_mutexes:

- Simplify the ww_mutex self-test code via swap() (Thorsten Blum)

- Static calls:

- Update the static calls MAINTAINERS file-pattern (Jiri Slaby)

Thanks,

Ingo

------------------>
Andy Shevchenko (2):
lockdep: Mark chain_hlock_class_idx() with __maybe_unused
lockdep: Move lockdep_assert_locked() under #ifdef CONFIG_PROVE_LOCKING

Boqun Feng (1):
locking: MAINTAINERS: Start watching Rust locking primitives

Carlos Llamas (3):
lockdep: Fix upper limit for LOCKDEP_*_BITS configs
lockdep: Clarify size for LOCKDEP_*_BITS configs
lockdep: Document MAX_LOCKDEP_CHAIN_HLOCKS calculation

Jiri Slaby (SUSE) (1):
MAINTAINERS: Add static_call_inline.c to STATIC BRANCH/CALL

John Stultz (1):
sched/wake_q: Add helper to call wake_up_q after unlock with preemption disabled

Lyude Paul (5):
rust: sync: Add Lock::from_raw() for Lock<(), B>
rust: sync: Make Guard::new() public
rust: sync: Add MutexGuard type alias
rust: sync: Add SpinLockGuard type alias
rust: sync: Add lock::Backend::assert_is_held()

Mathieu Desnoyers (1):
smp/scf: Evaluate local cond_func() before IPI side-effects

Peter Zijlstra (1):
cleanup, tags: Create tags for the cleanup primitives

Thorsten Blum (1):
locking/ww_mutex/test: Use swap() macro

Waiman Long (1):
locking/lockdep: Enforce PROVE_RAW_LOCK_NESTING only if ARCH_SUPPORTS_RT


MAINTAINERS | 9 +++++++--
include/linux/sched/wake_q.h | 34 ++++++++++++++++++++++++++++++++++
kernel/futex/pi.c | 5 +----
kernel/locking/lockdep.c | 4 +++-
kernel/locking/lockdep_internals.h | 3 ++-
kernel/locking/mutex.c | 16 ++++------------
kernel/locking/rtmutex.c | 32 +++++---------------------------
kernel/locking/test-ww_mutex.c | 9 +++------
kernel/smp.c | 5 +++--
lib/Kconfig.debug | 22 +++++++++++-----------
rust/helpers/mutex.c | 5 +++++
rust/helpers/spinlock.c | 5 +++++
rust/kernel/sync.rs | 4 ++--
rust/kernel/sync/lock.rs | 35 ++++++++++++++++++++++++++++++++++-
rust/kernel/sync/lock/mutex.rs | 13 +++++++++++++
rust/kernel/sync/lock/spinlock.rs | 13 +++++++++++++
scripts/tags.sh | 7 +++++++
17 files changed, 152 insertions(+), 69 deletions(-)