Home
last modified time | relevance | path

Searched refs:rtmutex (Results 1 – 15 of 15) sorted by relevance

/linux/include/linux/
H A Drwbase_rt.h13 struct rt_mutex_base rtmutex; member
19 .rtmutex = __RT_MUTEX_BASE_INITIALIZER(name.rtmutex), \
24 rt_mutex_base_init(&(rwbase)->rtmutex); \
H A Dmutex.h107 .rtmutex = __RT_MUTEX_BASE_INITIALIZER(mutexname.rtmutex) \
117 #define mutex_is_locked(l) rt_mutex_base_is_locked(&(l)->rtmutex)
121 rt_mutex_base_init(&(mutex)->rtmutex); \
H A Drtmutex.h58 struct rt_mutex_base rtmutex; member
91 .rtmutex = __RT_MUTEX_BASE_INITIALIZER(mutexname.rtmutex), \
H A Dmutex_types.h63 struct rt_mutex_base rtmutex; member
H A Dww_mutex.h35 #define ww_mutex_base_is_locked(b) rt_mutex_base_is_locked(&(b)->rtmutex)
/linux/kernel/locking/
H A Dww_rt_mutex.c27 if (__rt_mutex_trylock(&rtm->rtmutex)) { in ww_mutex_trylock()
65 if (likely(rt_mutex_try_acquire(&rtm->rtmutex))) { in __ww_rt_mutex_lock()
71 ret = rt_mutex_slowlock(&rtm->rtmutex, ww_ctx, state); in __ww_rt_mutex_lock()
99 __rt_mutex_unlock(&rtm->rtmutex); in ww_mutex_unlock()
H A Dww_mutex.h96 struct rb_node *n = rb_first(&lock->rtmutex.waiters.rb_root); in __ww_waiter_first()
123 struct rb_node *n = rb_last(&lock->rtmutex.waiters.rb_root); in __ww_waiter_last()
138 return rt_mutex_owner(&lock->rtmutex); in __ww_mutex_owner()
144 return rt_mutex_has_waiters(&lock->rtmutex); in __ww_mutex_has_waiters()
149 raw_spin_lock_irqsave(&lock->rtmutex.wait_lock, *flags); in lock_wait_lock()
154 raw_spin_unlock_irqrestore(&lock->rtmutex.wait_lock, *flags); in unlock_wait_lock()
159 lockdep_assert_held(&lock->rtmutex.wait_lock); in lockdep_assert_wait_lock_held()
H A Drtmutex_api.c31 ret = __rt_mutex_lock(&lock->rtmutex, state); in __rt_mutex_lock_common()
125 ret = __rt_mutex_trylock(&lock->rtmutex); in rt_mutex_trylock()
141 __rt_mutex_unlock(&lock->rtmutex); in rt_mutex_unlock()
217 __rt_mutex_base_init(&lock->rtmutex); in __rt_mutex_init()
518 ret = __rt_mutex_lock(&lock->rtmutex, state); in __mutex_lock_common()
603 ret = __rt_mutex_trylock(&lock->rtmutex); in mutex_trylock()
614 __rt_mutex_unlock(&lock->rtmutex); in mutex_unlock()
H A Drtmutex.c1250 rtm = container_of(lock, struct rt_mutex, rtmutex); in task_blocks_on_rt_mutex()
1611 struct rt_mutex *rtm = container_of(lock, struct rt_mutex, rtmutex); in rt_mutex_slowlock_block()
1692 struct rt_mutex *rtm = container_of(lock, struct rt_mutex, rtmutex); in __rt_mutex_slowlock()
/linux/lib/
H A Dtest_lockup.c493 offsetof(rwlock_t, rwbase.rtmutex.wait_lock.magic), in test_lockup_init()
496 offsetof(struct mutex, rtmutex.wait_lock.magic), in test_lockup_init()
499 offsetof(struct rw_semaphore, rwbase.rtmutex.wait_lock.magic), in test_lockup_init()
/linux/Documentation/locking/
H A Drt-mutex.rst32 The enqueueing of the waiters into the rtmutex waiter tree is done in
34 rtmutex, only the top priority waiter is enqueued into the owner's
H A Drt-mutex-design.rst10 This document tries to describe the design of the rtmutex.c implementation.
11 It doesn't describe the reasons why rtmutex.c exists. For that please see
307 not true, the rtmutex.c code will be broken!), this allows for the least
349 The implementation of the PI code in rtmutex.c has several places that a
414 rtmutex.c. See the 'Chain walk basics and protection scope' comment for further
H A Dlocktypes.rst98 rtmutex chapter
/linux/Documentation/translations/it_IT/locking/
H A Dlocktypes.rst98 rtmutex chapter
101 I blocchi a mutua esclusione RT (*rtmutex*) sono un sistema a mutua esclusione
112 rwlock_t di essere implementati usando rtmutex.
225 eccessi di un rtmutex.
423 Sui kernel PREEMPT_RT questo codice non funzionerà perché gli rtmutex richiedono
507 è troppo piccolo per farci stare un rtmutex. Dunque, la semantica dei bit
/linux/tools/perf/Documentation/
H A Dperf-lock.txt190 rtmutex, rwlock-rt, rwlock-rt:R, rwlock-rt:W, percpu-rwmem, pcpu-sem,