Searched refs:rtmutex (Results 1 – 15 of 15) sorted by relevance
/linux/include/linux/ |
H A D | rwbase_rt.h | 13 struct rt_mutex_base rtmutex; member 19 .rtmutex = __RT_MUTEX_BASE_INITIALIZER(name.rtmutex), \ 24 rt_mutex_base_init(&(rwbase)->rtmutex); \
|
H A D | mutex.h | 107 .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 D | rtmutex.h | 58 struct rt_mutex_base rtmutex; member 91 .rtmutex = __RT_MUTEX_BASE_INITIALIZER(mutexname.rtmutex), \
|
H A D | mutex_types.h | 63 struct rt_mutex_base rtmutex; member
|
H A D | ww_mutex.h | 35 #define ww_mutex_base_is_locked(b) rt_mutex_base_is_locked(&(b)->rtmutex)
|
/linux/kernel/locking/ |
H A D | ww_rt_mutex.c | 27 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 D | ww_mutex.h | 96 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 D | rtmutex_api.c | 31 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 D | rtmutex.c | 1250 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 D | test_lockup.c | 493 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 D | rt-mutex.rst | 32 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 D | rt-mutex-design.rst | 10 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 D | locktypes.rst | 98 rtmutex chapter
|
/linux/Documentation/translations/it_IT/locking/ |
H A D | locktypes.rst | 98 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 D | perf-lock.txt | 190 rtmutex, rwlock-rt, rwlock-rt:R, rwlock-rt:W, percpu-rwmem, pcpu-sem,
|