All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v8 0/6] rust: add ww_mutex support
@ 2025-12-01 10:28 Onur Özkan
  2025-12-01 10:28 ` [PATCH v8 1/6] rust: add C wrappers for ww_mutex inline functions Onur Özkan
                   ` (5 more replies)
  0 siblings, 6 replies; 28+ messages in thread
From: Onur Özkan @ 2025-12-01 10:28 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

I would like to request becoming a maintainer of this work.
If this is acceptable, please let me know so that I can add
myself to the MAINTAINERS file in the next revision.

See the changes of this version below.

Changes in v8:
  - Various minor updates (e.g., doc updates, removing unnecessary
    lifetime annotations, etc.).
  - Changed C implementation to always provide ww_class field in
    ww_mutex and ww_acquire_ctx types so we can access it from Rust
    easily.
  - Locking functions are now safe to call.
  - Added class validation logic to ww_mutex::lock_common.

Changes in v7:
  - Split Class and AcquireCtx into separate modules.
  - Removed "Ww" prefixes from type names.
  - Renamed exec.rs -> lock_set.rs and ExecContext -> LockSet.
  - Removed transmute logic from LockSet (formerly ExecContext).
  - Improved various doc-comments.
  - Marked certain AcquireCtx functions as unsafe.
  - Added from_raw constructors for Mutex, MutexGuard, AcquireCtx
    and Class.
  - LockSet::cleanup_on_deadlock no longer triggers reallocations when
    reinitializing AcquireCtx.
  - Incorporated various minor improvements suggested on the v6 series.

Changes in v6:
  - Added `unpinned_new` constructor for `WwClass` and updated
    global macros.
  - Changed all tests (and docs) to use Arc/KBox instead of
    `stack_pin_init` for `WwMutex` and `WwAcquireCtx`.
  - Added `LockKind` and `lock_common` helper to unify locking logic.
  - Added context-based and context-free locking functions for `WwMutex`.
  - Added `ww_mutex/exec` module, a high-level API with auto `EDEADLK`
    handling mechanism.

Changes in v5:
  - Addressed documentation review notes.
  - Removed `unwrap()`s in examples and KUnit tests.

Onur Özkan (6):
  rust: add C wrappers for ww_mutex inline functions
  ww_mutex: add `ww_class` field unconditionally
  rust: error: add EDEADLK
  rust: implement Class for ww_class support
  rust: ww_mutex: add Mutex, AcquireCtx and MutexGuard
  rust: ww_mutex: implement LockSet

 MAINTAINERS                                   |   1 +
 include/linux/ww_mutex.h                      |   8 +-
 rust/helpers/helpers.c                        |   1 +
 rust/helpers/ww_mutex.c                       |  39 ++
 rust/kernel/error.rs                          |   1 +
 rust/kernel/sync/lock.rs                      |   1 +
 rust/kernel/sync/lock/ww_mutex.rs             | 449 ++++++++++++++++++
 rust/kernel/sync/lock/ww_mutex/acquire_ctx.rs | 172 +++++++
 rust/kernel/sync/lock/ww_mutex/class.rs       | 156 ++++++
 rust/kernel/sync/lock/ww_mutex/lock_set.rs    | 383 +++++++++++++++
 10 files changed, 1205 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/class.rs
 create mode 100644 rust/kernel/sync/lock/ww_mutex/lock_set.rs

-- 
2.51.2


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

end of thread, other threads:[~2025-12-25 10:06 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-01 10:28 [PATCH v8 0/6] rust: add ww_mutex support Onur Özkan
2025-12-01 10:28 ` [PATCH v8 1/6] rust: add C wrappers for ww_mutex inline functions Onur Özkan
2025-12-02 17:38   ` Daniel Almeida
2025-12-15 13:06   ` Gary Guo
2025-12-01 10:28 ` [PATCH v8 2/6] ww_mutex: add `ww_class` field unconditionally Onur Özkan
2025-12-02 17:42   ` Daniel Almeida
2025-12-01 10:28 ` [PATCH v8 3/6] rust: error: add EDEADLK Onur Özkan
2025-12-02 17:43   ` Daniel Almeida
2025-12-01 10:28 ` [PATCH v8 4/6] rust: implement Class for ww_class support Onur Özkan
2025-12-02 17:59   ` Daniel Almeida
2025-12-25 10:00     ` Onur Özkan
2025-12-03 13:10   ` Alice Ryhl
2025-12-03 16:06     ` Onur Özkan
2025-12-01 10:28 ` [PATCH v8 5/6] rust: ww_mutex: add Mutex, AcquireCtx and MutexGuard Onur Özkan
2025-12-02  1:49   ` kernel test robot
2025-12-02 10:20     ` Onur Özkan
2025-12-02 18:29   ` Daniel Almeida
2025-12-03 15:49     ` Onur Özkan
2025-12-03 13:26   ` Alice Ryhl
2025-12-03 16:02     ` Onur Özkan
2025-12-04  9:08       ` Alice Ryhl
2025-12-03 17:23     ` Daniel Almeida
2025-12-04  9:07       ` Alice Ryhl
2025-12-04 13:26         ` Daniel Almeida
2025-12-04 13:33           ` Alice Ryhl
2025-12-15  9:10         ` Onur Özkan
2025-12-17  8:54           ` Daniel Almeida
2025-12-01 10:28 ` [PATCH v8 6/6] rust: ww_mutex: implement LockSet 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.