Home
last modified time | relevance | path

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

/openbmc/linux/include/linux/
H A Drtmutex.h57 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 Dww_mutex.h33 #define WW_MUTEX_BASE rt_mutex
H A Di2c.h748 struct rt_mutex bus_lock;
749 struct rt_mutex mux_lock;
/openbmc/linux/kernel/locking/
H A Dww_mutex.h90 #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 Drtmutex_api.c22 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 Dww_rt_mutex.c14 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 Drtmutex.c36 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()
1663 struct rt_mutex *rtm = container_of(lock, struct rt_mutex, rtmutex); in __rt_mutex_slowlock()
H A Dlocktorture.c596 static struct rt_mutex torture_nested_rtmutexes[MAX_NESTED_LOCKS];
/openbmc/linux/Documentation/locking/
H A Dfutex-requeue-pi.rst6 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 Drt-mutex.rst22 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 Dlocktypes.rst40 - 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 Dpi-futex.rst111 pi_state->rt_mutex and thus wakes up any potential waiters.
/openbmc/linux/kernel/rcu/
H A Dtree.h111 struct rt_mutex boost_mtx;
/openbmc/linux/drivers/media/usb/em28xx/
H A Dem28xx.h683 struct rt_mutex i2c_bus_lock;
/openbmc/linux/Documentation/process/
H A Dmaintainer-tip.rst234 rtmutex_lock(&rcu->rt_mutex)
235 spin_lock(&rcu->rt_mutex.wait_lock)