/linux-4.4.14/kernel/locking/ |
H A D | rtmutex-debug.h | 13 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);
|
H A D | rtmutex_common.h | 18 * This is the control structure for tasks blocked on a rt_mutex, 29 struct rt_mutex *lock; 33 struct rt_mutex *deadlock_lock; 41 static inline int rt_mutex_has_waiters(struct rt_mutex *lock) rt_mutex_has_waiters() 47 rt_mutex_top_waiter(struct rt_mutex *lock) rt_mutex_top_waiter() 76 static inline struct task_struct *rt_mutex_owner(struct rt_mutex *lock) 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, 111 extern int rt_mutex_timed_futex_lock(struct rt_mutex *l, struct hrtimer_sleeper *to); 112 extern bool rt_mutex_futex_unlock(struct rt_mutex *lock,
|
H A D | rtmutex-debug.c | 41 static void printk_lock(struct rt_mutex *lock, int print_owner) printk_lock() 71 struct rt_mutex *lock) debug_rt_mutex_deadlock() 136 void debug_rt_mutex_lock(struct rt_mutex *lock) debug_rt_mutex_lock() 140 void debug_rt_mutex_unlock(struct rt_mutex *lock) debug_rt_mutex_unlock() 146 debug_rt_mutex_proxy_lock(struct rt_mutex *lock, struct task_struct *powner) debug_rt_mutex_proxy_lock() 150 void debug_rt_mutex_proxy_unlock(struct rt_mutex *lock) debug_rt_mutex_proxy_unlock() 167 void debug_rt_mutex_init(struct rt_mutex *lock, const char *name) debug_rt_mutex_init() 177 rt_mutex_deadlock_account_lock(struct rt_mutex *lock, struct task_struct *task) rt_mutex_deadlock_account_lock()
|
H A D | rtmutex.c | 50 rt_mutex_set_owner(struct rt_mutex *lock, struct task_struct *owner) rt_mutex_set_owner() 60 static inline void clear_rt_mutex_waiters(struct rt_mutex *lock) clear_rt_mutex_waiters() 66 static void fixup_rt_mutex_waiters(struct rt_mutex *lock) fixup_rt_mutex_waiters() 86 static inline void mark_rt_mutex_waiters(struct rt_mutex *lock) mark_rt_mutex_waiters() 102 static inline bool unlock_rt_mutex_safe(struct rt_mutex *lock) 141 static inline void mark_rt_mutex_waiters(struct rt_mutex *lock) mark_rt_mutex_waiters() 150 static inline bool unlock_rt_mutex_safe(struct rt_mutex *lock) 180 rt_mutex_enqueue(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) rt_mutex_enqueue() 206 rt_mutex_dequeue(struct rt_mutex *lock, struct rt_mutex_waiter *waiter) rt_mutex_dequeue() 356 static inline struct rt_mutex *task_blocked_on_lock(struct task_struct *p) task_blocked_on_lock() 426 struct rt_mutex *orig_lock, rt_mutex_adjust_prio_chain() 427 struct rt_mutex *next_lock, rt_mutex_adjust_prio_chain() 434 struct rt_mutex *lock; rt_mutex_adjust_prio_chain() 766 static int try_to_take_rt_mutex(struct rt_mutex *lock, struct task_struct *task, try_to_take_rt_mutex() 888 static int task_blocks_on_rt_mutex(struct rt_mutex *lock, task_blocks_on_rt_mutex() 895 struct rt_mutex *next_lock; task_blocks_on_rt_mutex() 977 struct rt_mutex *lock) mark_wakeup_next_waiter() 1015 static void remove_waiter(struct rt_mutex *lock, remove_waiter() 1020 struct rt_mutex *next_lock; remove_waiter() 1075 struct rt_mutex *next_lock; rt_mutex_adjust_pi() 1098 * @lock: the rt_mutex to take 1107 __rt_mutex_slowlock(struct rt_mutex *lock, int state, __rt_mutex_slowlock() 1170 rt_mutex_slowlock(struct rt_mutex *lock, int state, rt_mutex_slowlock() 1228 static inline int rt_mutex_slowtrylock(struct rt_mutex *lock) rt_mutex_slowtrylock() 1263 static bool __sched rt_mutex_slowunlock(struct rt_mutex *lock, rt_mutex_slowunlock() 1332 rt_mutex_fastlock(struct rt_mutex *lock, int state, rt_mutex_fastlock() 1333 int (*slowfn)(struct rt_mutex *lock, int state, rt_mutex_fastlock() 1345 rt_mutex_timed_fastlock(struct rt_mutex *lock, int state, rt_mutex_timed_fastlock() 1348 int (*slowfn)(struct rt_mutex *lock, int state, rt_mutex_timed_fastlock() 1361 rt_mutex_fasttrylock(struct rt_mutex *lock, rt_mutex_fasttrylock() 1362 int (*slowfn)(struct rt_mutex *lock)) rt_mutex_fasttrylock() 1372 rt_mutex_fastunlock(struct rt_mutex *lock, rt_mutex_fastunlock() 1373 bool (*slowfn)(struct rt_mutex *lock, rt_mutex_fastunlock() 1393 * rt_mutex_lock - lock a rt_mutex 1395 * @lock: the rt_mutex to be locked 1397 void __sched rt_mutex_lock(struct rt_mutex *lock) rt_mutex_lock() 1406 * rt_mutex_lock_interruptible - lock a rt_mutex interruptible 1408 * @lock: the rt_mutex to be locked 1414 int __sched rt_mutex_lock_interruptible(struct rt_mutex *lock) rt_mutex_lock_interruptible() 1425 int rt_mutex_timed_futex_lock(struct rt_mutex *lock, rt_mutex_timed_futex_lock() 1436 * rt_mutex_timed_lock - lock a rt_mutex interruptible 1440 * @lock: the rt_mutex to be locked 1449 rt_mutex_timed_lock(struct rt_mutex *lock, struct hrtimer_sleeper *timeout) rt_mutex_timed_lock() 1460 * rt_mutex_trylock - try to lock a rt_mutex 1462 * @lock: the rt_mutex to be locked 1470 int __sched rt_mutex_trylock(struct rt_mutex *lock) rt_mutex_trylock() 1480 * rt_mutex_unlock - unlock a rt_mutex 1482 * @lock: the rt_mutex to be unlocked 1484 void __sched rt_mutex_unlock(struct rt_mutex *lock) rt_mutex_unlock() 1492 * @lock: the rt_mutex to be unlocked 1497 bool __sched rt_mutex_futex_unlock(struct rt_mutex *lock, rt_mutex_futex_unlock() 1515 void rt_mutex_destroy(struct rt_mutex *lock) rt_mutex_destroy() 1534 void __rt_mutex_init(struct rt_mutex *lock, const char *name) __rt_mutex_init() 1546 * rt_mutex_init_proxy_locked - initialize and lock a rt_mutex on behalf of a 1549 * @lock: the rt_mutex to be locked 1555 void rt_mutex_init_proxy_locked(struct rt_mutex *lock, rt_mutex_init_proxy_locked() 1567 * @lock: the rt_mutex to be locked 1572 void rt_mutex_proxy_unlock(struct rt_mutex *lock, rt_mutex_proxy_unlock() 1582 * @lock: the rt_mutex to take 1593 int rt_mutex_start_proxy_lock(struct rt_mutex *lock, rt_mutex_start_proxy_lock() 1642 struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock) rt_mutex_next_owner() 1652 * @lock: the rt_mutex we were woken on 1665 int rt_mutex_finish_proxy_lock(struct rt_mutex *lock, rt_mutex_finish_proxy_lock()
|
/linux-4.4.14/include/linux/ |
H A D | rtmutex.h | 22 * The rt_mutex structure 29 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) 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);
|
H A D | i2c.h | 508 struct rt_mutex bus_lock;
|
H A D | sched.h | 1601 /* PI waiters blocked on a rt_mutex held by this task */
|
/linux-4.4.14/kernel/ |
H A D | futex.c | 199 struct rt_mutex pi_mutex; 227 * the rt_mutex code. See unqueue_me_pi(). 912 * pi_state->rt_mutex will fixup owner. attach_to_pi_state() 1640 * + nr_requeue, since it acquires the rt_mutex prior to futex_requeue() 1641 * returning to userspace, so as to not leave the rt_mutex with futex_requeue() 1814 /* Prepare the waiter to take the rt_mutex. */ futex_requeue() 2095 * @q: futex_q (contains pi_state and access to the rt_mutex) 2096 * @locked: if the attempt to take the rt_mutex succeeded (1) or not (0) 2098 * After attempting to lock an rt_mutex, this function is called to cleanup 2128 * Try to get the rt_mutex now. This might fail as some other fixup_owner() 2129 * task acquired the rt_mutex after we removed ourself from the fixup_owner() 2130 * rt_mutex waiters list. fixup_owner() 2140 * rt_mutex. Too late. fixup_owner() 2153 * the owner of the rt_mutex. fixup_owner() 2659 * on uaddr2 and complete the acquisition of the rt_mutex prior to returning to 2660 * userspace. This ensures the rt_mutex maintains an owner when it has waiters; 2673 * If 2, we may then block on trying to take the rt_mutex and return via: 2693 struct rt_mutex *pi_mutex = NULL; futex_wait_requeue_pi() 2814 * fault, unlock the rt_mutex and return the fault to userspace. futex_wait_requeue_pi()
|
/linux-4.4.14/drivers/media/usb/em28xx/ |
H A D | em28xx.h | 646 struct rt_mutex i2c_bus_lock;
|
/linux-4.4.14/kernel/rcu/ |
H A D | tree_plugin.h | 1020 * We boost task t by manufacturing an rt_mutex that appears to rcu_boost() 1021 * be held by task t. We leave a pointer to that rt_mutex where rcu_boost() 1024 * simply acquiring this artificial rt_mutex will boost task rcu_boost()
|
H A D | tree.h | 214 struct rt_mutex boost_mtx;
|
/linux-4.4.14/kernel/sched/ |
H A D | core.c | 3363 * Used by the rt_mutex code to implement priority inheritance
|