Home
last modified time | relevance | path

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

/Linux-v5.4/kernel/locking/
Drtmutex_common.h31 struct rt_mutex *lock;
35 struct rt_mutex *deadlock_lock;
47 static inline int rt_mutex_has_waiters(struct rt_mutex *lock) in rt_mutex_has_waiters()
53 rt_mutex_top_waiter(struct rt_mutex *lock) in rt_mutex_top_waiter()
79 static inline int rt_mutex_has_waiters(struct rt_mutex *lock) in rt_mutex_has_waiters()
85 rt_mutex_top_waiter(struct rt_mutex *lock) in rt_mutex_top_waiter()
108 static inline struct task_struct *rt_mutex_owner(struct rt_mutex *lock) in rt_mutex_owner()
133 extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock);
134 extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock,
136 extern void rt_mutex_proxy_unlock(struct rt_mutex *lock,
[all …]
Drtmutex.c53 rt_mutex_set_owner(struct rt_mutex *lock, struct task_struct *owner) in rt_mutex_set_owner()
63 static inline void clear_rt_mutex_waiters(struct rt_mutex *lock) in clear_rt_mutex_waiters()
69 static void fixup_rt_mutex_waiters(struct rt_mutex *lock) in fixup_rt_mutex_waiters()
153 static inline void mark_rt_mutex_waiters(struct rt_mutex *lock) in mark_rt_mutex_waiters()
169 static inline bool unlock_rt_mutex_safe(struct rt_mutex *lock, in unlock_rt_mutex_safe()
209 static inline void mark_rt_mutex_waiters(struct rt_mutex *lock) in mark_rt_mutex_waiters()
218 static inline bool unlock_rt_mutex_safe(struct rt_mutex *lock, in unlock_rt_mutex_safe()
273 rt_mutex_enqueue(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) in rt_mutex_enqueue()
296 rt_mutex_dequeue(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) in rt_mutex_dequeue()
381 static inline struct rt_mutex *task_blocked_on_lock(struct task_struct *p) in task_blocked_on_lock()
[all …]
Drtmutex-debug.h15 extern void debug_rt_mutex_init(struct rt_mutex *lock, const char *name, struct lock_class_key *key…
16 extern void debug_rt_mutex_lock(struct rt_mutex *lock);
17 extern void debug_rt_mutex_unlock(struct rt_mutex *lock);
18 extern void debug_rt_mutex_proxy_lock(struct rt_mutex *lock,
20 extern void debug_rt_mutex_proxy_unlock(struct rt_mutex *lock);
23 struct rt_mutex *lock);
Drtmutex-debug.c43 static void printk_lock(struct rt_mutex *lock, int print_owner) in printk_lock()
73 struct rt_mutex *lock) in debug_rt_mutex_deadlock()
139 void debug_rt_mutex_lock(struct rt_mutex *lock) in debug_rt_mutex_lock()
143 void debug_rt_mutex_unlock(struct rt_mutex *lock) in debug_rt_mutex_unlock()
149 debug_rt_mutex_proxy_lock(struct rt_mutex *lock, struct task_struct *powner) in debug_rt_mutex_proxy_lock()
153 void debug_rt_mutex_proxy_unlock(struct rt_mutex *lock) in debug_rt_mutex_proxy_unlock()
170 void debug_rt_mutex_init(struct rt_mutex *lock, const char *name, struct lock_class_key *key) in debug_rt_mutex_init()
/Linux-v5.4/include/linux/
Drtmutex.h30 struct rt_mutex { struct
93 struct rt_mutex mutexname = __RT_MUTEX_INITIALIZER(mutexname)
101 static inline int rt_mutex_is_locked(struct rt_mutex *lock) in rt_mutex_is_locked()
106 extern void __rt_mutex_init(struct rt_mutex *lock, const char *name, struct lock_class_key *key);
107 extern void rt_mutex_destroy(struct rt_mutex *lock);
110 extern void rt_mutex_lock_nested(struct rt_mutex *lock, unsigned int subclass);
113 extern void rt_mutex_lock(struct rt_mutex *lock);
117 extern int rt_mutex_lock_interruptible(struct rt_mutex *lock);
118 extern int rt_mutex_timed_lock(struct rt_mutex *lock,
121 extern int rt_mutex_trylock(struct rt_mutex *lock);
[all …]
Di2c.h693 struct rt_mutex bus_lock;
694 struct rt_mutex mux_lock;
/Linux-v5.4/Documentation/
Dfutex-requeue-pi.txt6 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
Dpi-futex.txt111 pi_state->rt_mutex and thus wakes up any potential waiters.
/Linux-v5.4/Documentation/locking/
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
/Linux-v5.4/kernel/rcu/
Dtree.h106 struct rt_mutex boost_mtx;
/Linux-v5.4/drivers/media/usb/em28xx/
Dem28xx.h691 struct rt_mutex i2c_bus_lock;
/Linux-v5.4/kernel/
Dfutex.c200 struct rt_mutex pi_mutex;
3303 struct rt_mutex *pi_mutex; in futex_wait_requeue_pi()