All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v13 0/7] rust: add ww_mutex support
@ 2026-10-20 15:29 Onur Özkan
  2026-10-20 15:29 ` [PATCH v13 1/7] rust: add C wrappers for ww_mutex inline functions Onur Özkan
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Onur Özkan @ 2026-10-20 15:29 UTC (permalink / raw)
  To: rust-for-linux
  Cc: lossin, lyude, ojeda, alex.gaynor, boqun.feng, gary, a.hindborg,
	aliceryhl, tmgross, dakr, peterz, mingo, will, longman,
	felipe_life, daniel, daniel.almeida, thomas.hellstrom,
	linux-kernel, Onur Özkan

This series adds Rust abstractions for ww_mutex, including Class, Mutex,
AcquireCtx and MutexGuard. AcquireCtxBackoff and ww_transaction handle
deadlock recovery with ordinary guards. DynLockSet tracks dynamically
discovered locks and provides separate acquisition and work callbacks.

Changes in v13:
  - Require static classes and remove the class lifetime parameters from
    Mutex and AcquireCtx.
  - Make AcquireCtx's locking methods safe. Panic on context drop if any
    acquired locks remain and check for acquired-lock count overflow
    before entering C.
  - Tighten AcquireCtx::from_raw()'s safety contract to cover forgotten
    guards.
  - Return Option from try_lock().
  - Split LockSet into AcquireCtxBackoff and DynLockSet in separate
    patches. Add ww_transaction() for allocation-free retries with
    ordinary guards.
  - Start each DynLockSet transaction with a new ticket, keep it unchanged
    across retries and clear pending backoff state on return.

Dropped Alice's Reviewed-by from the Mutex/AcquireCtx patch because the
locking API and safety contracts changed.

Previous version: https://lore.kernel.org/all/cover.1791799751.git.work@onurozkan.dev

Onur Özkan (7):
  rust: add C wrappers for ww_mutex inline functions
  ww_mutex: add ww_class field unconditionally
  rust: implement Class for ww_class support
  rust: ww_mutex: add Mutex, AcquireCtx and MutexGuard
  rust: ww_mutex: add AcquireCtxBackoff
  rust: ww_mutex: implement DynLockSet
  MAINTAINERS: add Onur Özkan as WW MUTEX maintainer

 MAINTAINERS                                   |   2 +
 include/linux/ww_mutex.h                      |   8 +-
 rust/helpers/helpers.c                        |   1 +
 rust/helpers/ww_mutex.c                       |  33 ++
 rust/kernel/sync/lock.rs                      |   1 +
 rust/kernel/sync/lock/ww_mutex.rs             | 449 ++++++++++++++++++
 rust/kernel/sync/lock/ww_mutex/acquire_ctx.rs | 179 +++++++
 .../sync/lock/ww_mutex/acquire_ctx_backoff.rs | 413 ++++++++++++++++
 rust/kernel/sync/lock/ww_mutex/class.rs       | 130 +++++
 .../kernel/sync/lock/ww_mutex/dyn_lock_set.rs | 351 ++++++++++++++
 10 files changed, 1561 insertions(+), 6 deletions(-)
 create mode 100644 rust/helpers/ww_mutex.c
 create mode 100644 rust/kernel/sync/lock/ww_mutex.rs
 create mode 100644 rust/kernel/sync/lock/ww_mutex/acquire_ctx.rs
 create mode 100644 rust/kernel/sync/lock/ww_mutex/acquire_ctx_backoff.rs
 create mode 100644 rust/kernel/sync/lock/ww_mutex/class.rs
 create mode 100644 rust/kernel/sync/lock/ww_mutex/dyn_lock_set.rs


base-commit: 47324d3a5b3abd781295044d01d92d09f184e872
-- 
2.51.2


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

end of thread, other threads:[~2026-10-20 15:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-20 15:29 [PATCH v13 0/7] rust: add ww_mutex support Onur Özkan
2026-10-20 15:29 ` [PATCH v13 1/7] rust: add C wrappers for ww_mutex inline functions Onur Özkan
2026-10-20 15:29 ` [PATCH v13 2/7] ww_mutex: add ww_class field unconditionally Onur Özkan
2026-10-20 15:29 ` [PATCH v13 3/7] rust: implement Class for ww_class support Onur Özkan
2026-10-20 15:29 ` [PATCH v13 4/7] rust: ww_mutex: add Mutex, AcquireCtx and MutexGuard Onur Özkan
2026-10-20 15:29 ` [PATCH v13 5/7] rust: ww_mutex: add AcquireCtxBackoff Onur Özkan
2026-10-20 15:29 ` [PATCH v13 6/7] rust: ww_mutex: implement DynLockSet Onur Özkan
2026-10-20 15:29 ` [PATCH v13 7/7] MAINTAINERS: add Onur Özkan as WW MUTEX maintainer Onur Özkan

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.