Searched refs:rt_mutex (Results 1 – 15 of 15) sorted by relevance
/openbmc/linux/include/linux/ |
H A D | rtmutex.h | 57 struct rt_mutex { struct 96 struct rt_mutex mutexname = __RT_MUTEX_INITIALIZER(mutexname) 98 extern void __rt_mutex_init(struct rt_mutex *lock, const char *name, struct lock_class_key *key); 101 extern void rt_mutex_lock_nested(struct rt_mutex *lock, unsigned int subclass); 102 extern void _rt_mutex_lock_nest_lock(struct rt_mutex *lock, struct lockdep_map *nest_lock); 111 extern void rt_mutex_lock(struct rt_mutex *lock); 116 extern int rt_mutex_lock_interruptible(struct rt_mutex *lock); 117 extern int rt_mutex_lock_killable(struct rt_mutex *lock); 118 extern int rt_mutex_trylock(struct rt_mutex *lock); 120 extern void rt_mutex_unlock(struct rt_mutex *lock);
|
H A D | ww_mutex.h | 33 #define WW_MUTEX_BASE rt_mutex
|
H A D | i2c.h | 748 struct rt_mutex bus_lock; 749 struct rt_mutex mux_lock;
|
/openbmc/linux/kernel/locking/ |
H A D | ww_mutex.h | 90 #define MUTEX rt_mutex 94 __ww_waiter_first(struct rt_mutex *lock) in __ww_waiter_first() 103 __ww_waiter_next(struct rt_mutex *lock, struct rt_mutex_waiter *w) in __ww_waiter_next() 112 __ww_waiter_prev(struct rt_mutex *lock, struct rt_mutex_waiter *w) in __ww_waiter_prev() 121 __ww_waiter_last(struct rt_mutex *lock) in __ww_waiter_last() 130 __ww_waiter_add(struct rt_mutex *lock, struct rt_mutex_waiter *waiter, struct rt_mutex_waiter *pos) in __ww_waiter_add() 136 __ww_mutex_owner(struct rt_mutex *lock) in __ww_mutex_owner() 142 __ww_mutex_has_waiters(struct rt_mutex *lock) in __ww_mutex_has_waiters() 147 static inline void lock_wait_lock(struct rt_mutex *lock) in lock_wait_lock() 152 static inline void unlock_wait_lock(struct rt_mutex *lock) in unlock_wait_lock() [all …]
|
H A D | rtmutex_api.c | 22 static __always_inline int __rt_mutex_lock_common(struct rt_mutex *lock, in __rt_mutex_lock_common() 50 void __sched rt_mutex_lock_nested(struct rt_mutex *lock, unsigned int subclass) in rt_mutex_lock_nested() 56 void __sched _rt_mutex_lock_nest_lock(struct rt_mutex *lock, struct lockdep_map *nest_lock) in _rt_mutex_lock_nest_lock() 69 void __sched rt_mutex_lock(struct rt_mutex *lock) in rt_mutex_lock() 85 int __sched rt_mutex_lock_interruptible(struct rt_mutex *lock) in rt_mutex_lock_interruptible() 100 int __sched rt_mutex_lock_killable(struct rt_mutex *lock) in rt_mutex_lock_killable() 118 int __sched rt_mutex_trylock(struct rt_mutex *lock) in rt_mutex_trylock() 138 void __sched rt_mutex_unlock(struct rt_mutex *lock) in rt_mutex_unlock() 213 void __sched __rt_mutex_init(struct rt_mutex *lock, const char *name, in __rt_mutex_init()
|
H A D | ww_rt_mutex.c | 14 struct rt_mutex *rtm = &lock->base; in ww_mutex_trylock() 42 struct rt_mutex *rtm = &lock->base; in __ww_rt_mutex_lock() 94 struct rt_mutex *rtm = &lock->base; in ww_mutex_unlock()
|
H A D | rtmutex.c | 36 struct rt_mutex *lock, in __ww_mutex_add_waiter() 42 static inline void __ww_mutex_check_waiters(struct rt_mutex *lock, in __ww_mutex_check_waiters() 52 static inline int __ww_mutex_check_kill(struct rt_mutex *lock, in __ww_mutex_check_kill() 1224 struct rt_mutex *rtm; in task_blocks_on_rt_mutex() 1227 rtm = container_of(lock, struct rt_mutex, rtmutex); in task_blocks_on_rt_mutex() 1585 struct rt_mutex *rtm = container_of(lock, struct rt_mutex, rtmutex); in rt_mutex_slowlock_block() 1664 struct rt_mutex *rtm = container_of(lock, struct rt_mutex, rtmutex); in __rt_mutex_slowlock()
|
H A D | locktorture.c | 596 static struct rt_mutex torture_nested_rtmutexes[MAX_NESTED_LOCKS];
|
/openbmc/linux/Documentation/locking/ |
H A D | futex-requeue-pi.rst | 6 special handling in order to ensure the underlying rt_mutex is never 50 underlying rt_mutex with waiters, and no owner, breaking the 89 In order to ensure the rt_mutex has an owner if it has waiters, it 91 to be able to acquire the rt_mutex before returning to user space. 93 acquire the rt_mutex as it would open a race window between the 97 The solution involves two new rt_mutex helper routines, 99 allow the requeue code to acquire an uncontended rt_mutex on behalf 100 of the waiter and to enqueue the waiter on a contended rt_mutex. 120 task as a waiter on the underlying rt_mutex. It is possible that
|
H A D | rt-mutex.rst | 22 boosting to the owner of the other rt_mutex it gets blocked on. The 23 priority boosting is immediately removed once the rt_mutex has been
|
H A D | locktypes.rst | 40 - rt_mutex 147 PREEMPT_RT kernels map rw_semaphore to a separate rt_mutex-based 233 based on rt_mutex which changes the semantics: 308 PREEMPT_RT kernels map rwlock_t to a separate rt_mutex-based
|
H A D | pi-futex.rst | 111 pi_state->rt_mutex and thus wakes up any potential waiters.
|
/openbmc/linux/kernel/rcu/ |
H A D | tree.h | 111 struct rt_mutex boost_mtx;
|
/openbmc/linux/drivers/media/usb/em28xx/ |
H A D | em28xx.h | 683 struct rt_mutex i2c_bus_lock;
|
/openbmc/linux/Documentation/process/ |
H A D | maintainer-tip.rst | 234 rtmutex_lock(&rcu->rt_mutex) 235 spin_lock(&rcu->rt_mutex.wait_lock)
|