Home
last modified time | relevance | path

Searched refs:ww_mutex (Results 1 – 19 of 19) sorted by relevance

/Linux-v5.15/include/linux/
Dww_mutex.h49 struct ww_mutex { struct
100 static inline void ww_mutex_init(struct ww_mutex *lock, in ww_mutex_init()
236 extern int /* __must_check */ ww_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ctx);
268 extern int __must_check ww_mutex_lock_interruptible(struct ww_mutex *lock,
295 ww_mutex_lock_slow(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_lock_slow()
331 ww_mutex_lock_slow_interruptible(struct ww_mutex *lock, in ww_mutex_lock_slow_interruptible()
340 extern void ww_mutex_unlock(struct ww_mutex *lock);
349 static inline int __must_check ww_mutex_trylock(struct ww_mutex *lock) in ww_mutex_trylock()
362 static inline void ww_mutex_destroy(struct ww_mutex *lock) in ww_mutex_destroy()
375 static inline bool ww_mutex_is_locked(struct ww_mutex *lock) in ww_mutex_is_locked()
Dseqlock.h187 #define seqcount_ww_mutex_init(s, lock) seqcount_LOCKNAME_init(s, lock, ww_mutex)
280 SEQCOUNT_LOCKNAME(ww_mutex, struct ww_mutex, true, &s->lock->base, ww_mutex, ww_mutex_lock(…
308 __seqprop_case((s), ww_mutex, prop))
Ddma-resv.h71 struct ww_mutex lock;
/Linux-v5.15/tools/testing/selftests/locking/
Dww_mutex.sh8 if ! /sbin/modprobe -q -n test-ww_mutex; then
13 if /sbin/modprobe -q test-ww_mutex; then
14 /sbin/modprobe -q -r test-ww_mutex
DMakefile8 TEST_PROGS := ww_mutex.sh
/Linux-v5.15/kernel/locking/
Dww_rt_mutex.c13 __ww_rt_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ww_ctx, in __ww_rt_mutex_lock()
54 ww_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_lock()
61 ww_mutex_lock_interruptible(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_lock_interruptible()
67 void __sched ww_mutex_unlock(struct ww_mutex *lock) in ww_mutex_unlock()
Dww_mutex.h181 ww_mutex_lock_acquired(struct ww_mutex *ww, struct ww_acquire_ctx *ww_ctx) in ww_mutex_lock_acquired()
378 ww_mutex_set_context_fastpath(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_set_context_fastpath()
417 struct ww_mutex *ww; in __ww_mutex_kill()
419 ww = container_of(lock, struct ww_mutex, base); in __ww_mutex_kill()
444 struct ww_mutex *ww = container_of(lock, struct ww_mutex, base); in __ww_mutex_check_kill()
545 struct ww_mutex *ww = container_of(lock, struct ww_mutex, base); in __ww_mutex_add_waiter()
559 static inline void __ww_mutex_unlock(struct ww_mutex *lock) in __ww_mutex_unlock()
Dmutex.c301 struct ww_mutex *ww; in ww_mutex_spin_on_owner()
303 ww = container_of(lock, struct ww_mutex, base); in ww_mutex_spin_on_owner()
551 void __sched ww_mutex_unlock(struct ww_mutex *lock) in ww_mutex_unlock()
567 struct ww_mutex *ww; in __mutex_lock_common()
577 ww = container_of(lock, struct ww_mutex, base); in __mutex_lock_common()
784 ww_mutex_deadlock_injection(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_deadlock_injection()
810 ww_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_lock()
825 ww_mutex_lock_interruptible(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_lock_interruptible()
995 __ww_mutex_lock_slowpath(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in __ww_mutex_lock_slowpath()
1002 __ww_mutex_lock_interruptible_slowpath(struct ww_mutex *lock, in __ww_mutex_lock_interruptible_slowpath()
[all …]
Dtest-ww_mutex.c21 struct ww_mutex mutex;
114 struct ww_mutex mutex; in test_aa()
149 struct ww_mutex a_mutex;
150 struct ww_mutex b_mutex;
239 struct ww_mutex a_mutex;
240 struct ww_mutex *b_mutex;
344 struct ww_mutex *locks;
382 struct ww_mutex *locks = stress->locks; in stress_inorder_work()
434 struct ww_mutex *lock;
501 struct ww_mutex *lock = stress->locks + (get_random_int() % nlocks); in stress_one_work()
[all …]
DMakefile33 obj-$(CONFIG_WW_MUTEX_SELFTEST) += test-ww_mutex.o
Drtmutex.c45 static inline void ww_mutex_lock_acquired(struct ww_mutex *lock, in ww_mutex_lock_acquired()
59 # define ww_container_of(rtm) container_of(rtm, struct ww_mutex, base)
1557 struct ww_mutex *ww = ww_container_of(rtm); in __rt_mutex_slowlock()
Dlocktorture.c376 static struct ww_mutex torture_ww_mutex_0, torture_ww_mutex_1, torture_ww_mutex_2;
405 struct ww_mutex *lock; in torture_ww_mutex_lock()
/Linux-v5.15/Documentation/locking/
Dww-mutex-design.rst125 struct ww_mutex lock;
236 e.g. when adjusting edges in a graph where each node has its own ww_mutex lock,
270 struct ww_mutex ww_mutex;
284 ww_mutex_unlock(entry->ww_mutex)
300 ret = ww_mutex_lock(obj->ww_mutex, ctx);
338 ww_mutex currently encapsulates a struct mutex, this means no extra overhead for
Dlocktypes.rst43 - ww_mutex
/Linux-v5.15/include/drm/
Ddrm_modeset_lock.h80 struct ww_mutex mutex;
/Linux-v5.15/include/linux/regulator/
Ddriver.h619 struct ww_mutex mutex; /* consumer lock */
/Linux-v5.15/Documentation/gpu/
Di915.rst365 dma_resv ww_mutex to serialize against other operations.
382 * -EDEADLK handling with ww_mutex
/Linux-v5.15/lib/
Dlocking-selftest.c59 static struct ww_mutex o, o2, o3;
DKconfig.debug1483 on the struct ww_mutex locking API.