Home
last modified time | relevance | path

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

/linux-4.4.14/kernel/locking/
Drtmutex_common.h29 struct rt_mutex *lock;
33 struct rt_mutex *deadlock_lock;
41 static inline int rt_mutex_has_waiters(struct rt_mutex *lock) in rt_mutex_has_waiters()
47 rt_mutex_top_waiter(struct rt_mutex *lock) in rt_mutex_top_waiter()
76 static inline struct task_struct *rt_mutex_owner(struct rt_mutex *lock) in rt_mutex_owner()
100 extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock);
101 extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock,
103 extern void rt_mutex_proxy_unlock(struct rt_mutex *lock,
105 extern int rt_mutex_start_proxy_lock(struct rt_mutex *lock,
108 extern int rt_mutex_finish_proxy_lock(struct rt_mutex *lock,
[all …]
Drtmutex.c50 rt_mutex_set_owner(struct rt_mutex *lock, struct task_struct *owner) in rt_mutex_set_owner()
60 static inline void clear_rt_mutex_waiters(struct rt_mutex *lock) in clear_rt_mutex_waiters()
66 static void fixup_rt_mutex_waiters(struct rt_mutex *lock) in fixup_rt_mutex_waiters()
86 static inline void mark_rt_mutex_waiters(struct rt_mutex *lock) in mark_rt_mutex_waiters()
102 static inline bool unlock_rt_mutex_safe(struct rt_mutex *lock) in unlock_rt_mutex_safe()
141 static inline void mark_rt_mutex_waiters(struct rt_mutex *lock) in mark_rt_mutex_waiters()
150 static inline bool unlock_rt_mutex_safe(struct rt_mutex *lock) in unlock_rt_mutex_safe()
180 rt_mutex_enqueue(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) in rt_mutex_enqueue()
206 rt_mutex_dequeue(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) in rt_mutex_dequeue()
356 static inline struct rt_mutex *task_blocked_on_lock(struct task_struct *p) in task_blocked_on_lock()
[all …]
Drtmutex-debug.h13 rt_mutex_deadlock_account_lock(struct rt_mutex *lock, struct task_struct *task);
17 extern void debug_rt_mutex_init(struct rt_mutex *lock, const char *name);
18 extern void debug_rt_mutex_lock(struct rt_mutex *lock);
19 extern void debug_rt_mutex_unlock(struct rt_mutex *lock);
20 extern void debug_rt_mutex_proxy_lock(struct rt_mutex *lock,
22 extern void debug_rt_mutex_proxy_unlock(struct rt_mutex *lock);
25 struct rt_mutex *lock);
Drtmutex-debug.c41 static void printk_lock(struct rt_mutex *lock, int print_owner) in printk_lock()
71 struct rt_mutex *lock) in debug_rt_mutex_deadlock()
136 void debug_rt_mutex_lock(struct rt_mutex *lock) in debug_rt_mutex_lock()
140 void debug_rt_mutex_unlock(struct rt_mutex *lock) in debug_rt_mutex_unlock()
146 debug_rt_mutex_proxy_lock(struct rt_mutex *lock, struct task_struct *powner) in debug_rt_mutex_proxy_lock()
150 void debug_rt_mutex_proxy_unlock(struct rt_mutex *lock) in debug_rt_mutex_proxy_unlock()
167 void debug_rt_mutex_init(struct rt_mutex *lock, const char *name) in debug_rt_mutex_init()
177 rt_mutex_deadlock_account_lock(struct rt_mutex *lock, struct task_struct *task) in rt_mutex_deadlock_account_lock()
/linux-4.4.14/include/linux/
Drtmutex.h29 struct rt_mutex { struct
76 struct rt_mutex mutexname = __RT_MUTEX_INITIALIZER(mutexname)
84 static inline int rt_mutex_is_locked(struct rt_mutex *lock) in rt_mutex_is_locked()
89 extern void __rt_mutex_init(struct rt_mutex *lock, const char *name);
90 extern void rt_mutex_destroy(struct rt_mutex *lock);
92 extern void rt_mutex_lock(struct rt_mutex *lock);
93 extern int rt_mutex_lock_interruptible(struct rt_mutex *lock);
94 extern int rt_mutex_timed_lock(struct rt_mutex *lock,
97 extern int rt_mutex_trylock(struct rt_mutex *lock);
99 extern void rt_mutex_unlock(struct rt_mutex *lock);
Di2c.h508 struct rt_mutex bus_lock;
/linux-4.4.14/Documentation/
Dfutex-requeue-pi.txt5 special handling in order to ensure the underlying rt_mutex is never
49 underlying rt_mutex with waiters, and no owner, breaking the
88 In order to ensure the rt_mutex has an owner if it has waiters, it
90 to be able to acquire the rt_mutex before returning to user space.
92 acquire the rt_mutex as it would open a race window between the
96 The solution involves two new rt_mutex helper routines,
98 allow the requeue code to acquire an uncontended rt_mutex on behalf
99 of the waiter and to enqueue the waiter on a contended rt_mutex.
119 task as a waiter on the underlying rt_mutex. It is possible that
Dpi-futex.txt110 pi_state->rt_mutex and thus wakes up any potential waiters.
/linux-4.4.14/Documentation/locking/
Drt-mutex.txt21 boosting to the owner of the other rt_mutex it gets blocked on. The
22 priority boosting is immediately removed once the rt_mutex has been
49 rt_mutex->owner holds the task_struct pointer of the owner. Bit 0 and 1
/linux-4.4.14/kernel/rcu/
Dtree.h214 struct rt_mutex boost_mtx;
/linux-4.4.14/drivers/media/usb/em28xx/
Dem28xx.h646 struct rt_mutex i2c_bus_lock;
/linux-4.4.14/kernel/
Dfutex.c199 struct rt_mutex pi_mutex;
2693 struct rt_mutex *pi_mutex = NULL; in futex_wait_requeue_pi()