Home
last modified time | relevance | path

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

/linux-4.1.27/kernel/locking/
Drtmutex_common.h25 extern void schedule_rt_mutex_test(struct rt_mutex *lock);
51 struct rt_mutex *lock;
55 struct rt_mutex *deadlock_lock;
63 static inline int rt_mutex_has_waiters(struct rt_mutex *lock) in rt_mutex_has_waiters()
69 rt_mutex_top_waiter(struct rt_mutex *lock) in rt_mutex_top_waiter()
98 static inline struct task_struct *rt_mutex_owner(struct rt_mutex *lock) in rt_mutex_owner()
122 extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock);
123 extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock,
125 extern void rt_mutex_proxy_unlock(struct rt_mutex *lock,
127 extern int rt_mutex_start_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()
78 static inline void mark_rt_mutex_waiters(struct rt_mutex *lock) in mark_rt_mutex_waiters()
93 static inline bool unlock_rt_mutex_safe(struct rt_mutex *lock) in unlock_rt_mutex_safe()
129 static inline void mark_rt_mutex_waiters(struct rt_mutex *lock) in mark_rt_mutex_waiters()
138 static inline bool unlock_rt_mutex_safe(struct rt_mutex *lock) in unlock_rt_mutex_safe()
167 rt_mutex_enqueue(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) in rt_mutex_enqueue()
193 rt_mutex_dequeue(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) in rt_mutex_dequeue()
343 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()
Drtmutex-tester.c37 static struct rt_mutex mutexes[MAX_RT_TEST_MUTEXES];
139 void schedule_rt_mutex_test(struct rt_mutex *mutex) in schedule_rt_mutex_test()
/linux-4.1.27/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.h505 struct rt_mutex bus_lock;
/linux-4.1.27/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.1.27/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.1.27/kernel/rcu/
Dtree.h182 struct rt_mutex boost_mtx;
/linux-4.1.27/drivers/media/usb/em28xx/
Dem28xx.h645 struct rt_mutex i2c_bus_lock;
/linux-4.1.27/kernel/
Dfutex.c198 struct rt_mutex pi_mutex;
2570 struct rt_mutex *pi_mutex = NULL; in futex_wait_requeue_pi()