Home
last modified time | relevance | path

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

/Linux-v5.10/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()
152 static inline void mark_rt_mutex_waiters(struct rt_mutex *lock) in mark_rt_mutex_waiters()
168 static inline bool unlock_rt_mutex_safe(struct rt_mutex *lock, in unlock_rt_mutex_safe()
207 static inline void mark_rt_mutex_waiters(struct rt_mutex *lock) in mark_rt_mutex_waiters()
216 static inline bool unlock_rt_mutex_safe(struct rt_mutex *lock, in unlock_rt_mutex_safe()
271 rt_mutex_enqueue(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) in rt_mutex_enqueue()
294 rt_mutex_dequeue(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) in rt_mutex_dequeue()
379 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.10/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.h703 struct rt_mutex bus_lock;
704 struct rt_mutex mux_lock;
/Linux-v5.10/Documentation/locking/
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
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
Dlocktypes.rst40 - rt_mutex
147 PREEMPT_RT kernels map rw_semaphore to a separate rt_mutex-based
236 based on rt_mutex which changes the semantics:
311 PREEMPT_RT kernels map rwlock_t to a separate rt_mutex-based
Dpi-futex.rst111 pi_state->rt_mutex and thus wakes up any potential waiters.
/Linux-v5.10/drivers/staging/media/atomisp/pci/
Datomisp_internal.h248 struct rt_mutex mutex;
/Linux-v5.10/kernel/rcu/
Dtree.h107 struct rt_mutex boost_mtx;
/Linux-v5.10/drivers/media/usb/em28xx/
Dem28xx.h694 struct rt_mutex i2c_bus_lock;
/Linux-v5.10/kernel/
Dfutex.c183 struct rt_mutex pi_mutex;
3278 struct rt_mutex *pi_mutex; in futex_wait_requeue_pi()