Searched refs:rtmutex (Results 1 – 14 of 14) sorted by relevance
/Linux-v5.15/kernel/locking/ |
D | rwbase_rt.c | 72 struct rt_mutex_base *rtm = &rwb->rtmutex; in __rwbase_read_lock() 149 struct rt_mutex_base *rtm = &rwb->rtmutex; in __rwbase_read_unlock() 182 struct rt_mutex_base *rtm = &rwb->rtmutex; in __rwbase_write_unlock() 195 struct rt_mutex_base *rtm = &rwb->rtmutex; in rwbase_write_unlock() 204 struct rt_mutex_base *rtm = &rwb->rtmutex; in rwbase_write_downgrade() 215 lockdep_assert_held(&rwb->rtmutex.wait_lock); in __rwbase_write_trylock() 232 struct rt_mutex_base *rtm = &rwb->rtmutex; in rwbase_write_lock() 273 struct rt_mutex_base *rtm = &rwb->rtmutex; in rwbase_write_trylock()
|
D | rtmutex_api.c | 30 ret = __rt_mutex_lock(&lock->rtmutex, state); in __rt_mutex_lock_common() 103 ret = __rt_mutex_trylock(&lock->rtmutex); in rt_mutex_trylock() 119 __rt_mutex_unlock(&lock->rtmutex); in rt_mutex_unlock() 195 __rt_mutex_base_init(&lock->rtmutex); in __rt_mutex_init() 490 ret = __rt_mutex_lock(&lock->rtmutex, state); in __mutex_lock_common() 575 ret = __rt_mutex_trylock(&lock->rtmutex); in mutex_trylock() 586 __rt_mutex_unlock(&lock->rtmutex); in mutex_unlock()
|
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(&lock->rtmutex.wait_lock); in lock_wait_lock() 154 raw_spin_unlock(&lock->rtmutex.wait_lock); in unlock_wait_lock() 159 lockdep_assert_held(&lock->rtmutex.wait_lock); in lockdep_assert_wait_lock_held()
|
D | ww_rt_mutex.c | 40 if (likely(rt_mutex_cmpxchg_acquire(&rtm->rtmutex, NULL, current))) { in __ww_rt_mutex_lock() 46 ret = rt_mutex_slowlock(&rtm->rtmutex, ww_ctx, state); in __ww_rt_mutex_lock() 74 __rt_mutex_unlock(&rtm->rtmutex); in ww_mutex_unlock()
|
D | rtmutex.c | 1121 rtm = container_of(lock, struct rt_mutex, rtmutex); in task_blocks_on_rt_mutex() 1478 struct rt_mutex *rtm = container_of(lock, struct rt_mutex, rtmutex); in rt_mutex_slowlock_block() 1556 struct rt_mutex *rtm = container_of(lock, struct rt_mutex, rtmutex); in __rt_mutex_slowlock()
|
/Linux-v5.15/include/linux/ |
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); \
|
D | mutex.h | 136 struct rt_mutex_base rtmutex; member 144 .rtmutex = __RT_MUTEX_BASE_INITIALIZER(mutexname.rtmutex) \ 157 #define mutex_is_locked(l) rt_mutex_base_is_locked(&(l)->rtmutex) 161 rt_mutex_base_init(&(mutex)->rtmutex); \
|
D | rtmutex.h | 58 struct rt_mutex_base rtmutex; member 91 .rtmutex = __RT_MUTEX_BASE_INITIALIZER(mutexname.rtmutex), \
|
D | ww_mutex.h | 37 #define ww_mutex_base_is_locked(b) rt_mutex_base_is_locked(&(b)->rtmutex)
|
/Linux-v5.15/lib/ |
D | test_lockup.c | 488 offsetof(rwlock_t, rwbase.rtmutex.wait_lock.magic), in test_lockup_init() 491 offsetof(struct mutex, rtmutex.wait_lock.magic), in test_lockup_init() 494 offsetof(struct rw_semaphore, rwbase.rtmutex.wait_lock.magic), in test_lockup_init()
|
/Linux-v5.15/Documentation/locking/ |
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
|
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
|
D | locktypes.rst | 98 rtmutex chapter
|
/Linux-v5.15/kernel/rcu/ |
D | tree_plugin.h | 532 drop_boost_mutex = rt_mutex_owner(&rnp->boost_mtx.rtmutex) == t; in rcu_preempt_deferred_qs_irqrestore() 559 rt_mutex_futex_unlock(&rnp->boost_mtx.rtmutex); in rcu_preempt_deferred_qs_irqrestore() 1056 rt_mutex_init_proxy_locked(&rnp->boost_mtx.rtmutex, t); in rcu_boost()
|