Home
last modified time | relevance | path

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

/linux/include/linux/
H A Dww_mutex.h48 context_lock_struct(ww_mutex) { in context_lock_struct() argument
109 static inline void ww_mutex_init(struct ww_mutex *lock, in ww_mutex_init()
252 extern int /* __must_check */ ww_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ctx)
285 extern int __must_check ww_mutex_lock_interruptible(struct ww_mutex *lock,
313 ww_mutex_lock_slow(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_lock_slow()
350 ww_mutex_lock_slow_interruptible(struct ww_mutex *lock, in ww_mutex_lock_slow_interruptible()
360 extern void ww_mutex_unlock(struct ww_mutex *lock) __releases(lock);
362 extern int __must_check ww_mutex_trylock(struct ww_mutex *lock,
374 static inline void ww_mutex_destroy(struct ww_mutex *lock) in ww_mutex_destroy()
388 static inline bool ww_mutex_is_locked(struct ww_mutex *lock) in ww_mutex_is_locked()
H A Ddma-resv.h166 struct ww_mutex lock;
/linux/kernel/locking/
H A Dww_rt_mutex.c12 int ww_mutex_trylock(struct ww_mutex *lock, struct ww_acquire_ctx *ww_ctx) in ww_mutex_trylock()
38 __ww_rt_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ww_ctx, in __ww_rt_mutex_lock()
79 ww_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_lock()
86 ww_mutex_lock_interruptible(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_lock_interruptible()
92 void __sched ww_mutex_unlock(struct ww_mutex *lock) in ww_mutex_unlock()
H A Dww_mutex.h181 ww_mutex_lock_acquired(struct ww_mutex *ww, struct ww_acquire_ctx *ww_ctx) in ww_mutex_lock_acquired()
396 ww_mutex_set_context_fastpath(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_set_context_fastpath()
441 struct ww_mutex *ww; in __ww_mutex_kill()
443 ww = container_of(lock, struct ww_mutex, base); in __ww_mutex_kill()
468 struct ww_mutex *ww = container_of(lock, struct ww_mutex, base); in __ww_mutex_check_kill()
570 struct ww_mutex *ww = container_of(lock, struct ww_mutex, base); in __ww_mutex_add_waiter()
584 static inline void __ww_mutex_unlock(struct ww_mutex *lock) in __ww_mutex_unlock()
H A Dmutex.c311 struct ww_mutex *ww; in ww_mutex_spin_on_owner()
313 ww = container_of(lock, struct ww_mutex, base); in ww_mutex_spin_on_owner()
567 void __sched ww_mutex_unlock(struct ww_mutex *lock) in ww_mutex_unlock()
584 struct ww_mutex *ww; in __mutex_lock_common()
595 ww = container_of(lock, struct ww_mutex, base); in __mutex_lock_common()
799 int ww_mutex_trylock(struct ww_mutex *ww, struct ww_acquire_ctx *ww_ctx) in ww_mutex_trylock()
870 ww_mutex_deadlock_injection(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_deadlock_injection()
896 ww_mutex_lock(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_lock()
911 ww_mutex_lock_interruptible(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in ww_mutex_lock_interruptible()
1081 __ww_mutex_lock_slowpath(struct ww_mutex *lock, struct ww_acquire_ctx *ctx) in __ww_mutex_lock_slowpath()
[all …]
H A Dtest-ww_mutex.c31 struct ww_mutex mutex;
126 struct ww_mutex mutex; in test_aa()
182 struct ww_mutex a_mutex;
183 struct ww_mutex b_mutex;
285 struct ww_mutex a_mutex;
286 struct ww_mutex *b_mutex;
391 struct ww_mutex *locks;
440 struct ww_mutex *locks = stress->locks; in stress_inorder_work()
492 struct ww_mutex *lock;
558 struct ww_mutex *lock = stress->locks + get_random_u32_below(nlocks); in stress_one_work()
[all …]
H A DMakefile34 obj-$(CONFIG_WW_MUTEX_SELFTEST) += test-ww_mutex.o
H A Drtmutex.c50 static inline void ww_mutex_lock_acquired(struct ww_mutex *lock, in ww_mutex_lock_acquired()
64 # define ww_container_of(rtm) container_of(rtm, struct ww_mutex, base)
1699 struct ww_mutex *ww = ww_container_of(rtm); in __rt_mutex_slowlock()
H A Dlocktorture.c604 static struct ww_mutex torture_ww_mutex_0, torture_ww_mutex_1, torture_ww_mutex_2;
632 struct ww_mutex *lock; in torture_ww_mutex_lock()
/linux/tools/testing/selftests/locking/
H A 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
H A DMakefile8 TEST_PROGS := ww_mutex.sh
/linux/Documentation/locking/
H A 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
H A Dlocktypes.rst43 - ww_mutex
/linux/include/drm/
H A Ddrm_modeset_lock.h89 struct ww_mutex mutex;
/linux/include/linux/regulator/
H A Ddriver.h19 #include <linux/ww_mutex.h>
638 struct ww_mutex mutex; /* consumer lock */
/linux/Documentation/gpu/
H A Di915.rst370 dma_resv ww_mutex to serialize against other operations.
387 * -EDEADLK handling with ww_mutex
H A Ddrm-vm-bind-locking.rst258 dma_resvs but that could cause expensive ww_mutex rollbacks. A simple
/linux/Documentation/translations/it_IT/locking/
H A Dlocktypes.rst45 - ww_mutex
/linux/lib/
H A Dlocking-selftest.c65 static struct ww_mutex o, o2, o3;
H A DKconfig.debug1690 on the struct ww_mutex locking API.