Lines Matching refs:owner

91 rt_mutex_set_owner(struct rt_mutex_base *lock, struct task_struct *owner)  in rt_mutex_set_owner()  argument
93 unsigned long val = (unsigned long)owner; in rt_mutex_set_owner()
98 WRITE_ONCE(lock->owner, (struct task_struct *)val); in rt_mutex_set_owner()
103 lock->owner = (struct task_struct *) in clear_rt_mutex_waiters()
104 ((unsigned long)lock->owner & ~RT_MUTEX_HAS_WAITERS); in clear_rt_mutex_waiters()
109 unsigned long owner, *p = (unsigned long *) &lock->owner; in fixup_rt_mutex_waiters() local
172 owner = READ_ONCE(*p); in fixup_rt_mutex_waiters()
173 if (owner & RT_MUTEX_HAS_WAITERS) in fixup_rt_mutex_waiters()
174 WRITE_ONCE(*p, owner & ~RT_MUTEX_HAS_WAITERS); in fixup_rt_mutex_waiters()
186 return try_cmpxchg_acquire(&lock->owner, &old, new); in rt_mutex_cmpxchg_acquire()
193 return try_cmpxchg_release(&lock->owner, &old, new); in rt_mutex_cmpxchg_release()
203 unsigned long owner, *p = (unsigned long *) &lock->owner; in mark_rt_mutex_waiters() local
206 owner = *p; in mark_rt_mutex_waiters()
207 } while (cmpxchg_relaxed(p, owner, in mark_rt_mutex_waiters()
208 owner | RT_MUTEX_HAS_WAITERS) != owner); in mark_rt_mutex_waiters()
221 struct task_struct *owner = rt_mutex_owner(lock); in unlock_rt_mutex_safe() local
249 return rt_mutex_cmpxchg_release(lock, owner, NULL); in unlock_rt_mutex_safe()
270 lock->owner = (struct task_struct *) in mark_rt_mutex_waiters()
271 ((unsigned long)lock->owner | RT_MUTEX_HAS_WAITERS); in mark_rt_mutex_waiters()
281 lock->owner = NULL; in unlock_rt_mutex_safe()
1091 struct task_struct *owner = rt_mutex_owner(lock); in task_blocks_on_rt_mutex() local
1107 if (owner == task) in task_blocks_on_rt_mutex()
1139 if (!owner) in task_blocks_on_rt_mutex()
1142 raw_spin_lock(&owner->pi_lock); in task_blocks_on_rt_mutex()
1144 rt_mutex_dequeue_pi(owner, top_waiter); in task_blocks_on_rt_mutex()
1145 rt_mutex_enqueue_pi(owner, waiter); in task_blocks_on_rt_mutex()
1147 rt_mutex_adjust_prio(owner); in task_blocks_on_rt_mutex()
1148 if (owner->pi_blocked_on) in task_blocks_on_rt_mutex()
1155 next_lock = task_blocked_on_lock(owner); in task_blocks_on_rt_mutex()
1157 raw_spin_unlock(&owner->pi_lock); in task_blocks_on_rt_mutex()
1171 get_task_struct(owner); in task_blocks_on_rt_mutex()
1175 res = rt_mutex_adjust_prio_chain(owner, chwalk, lock, in task_blocks_on_rt_mutex()
1216 lock->owner = (void *) RT_MUTEX_HAS_WAITERS; in mark_wakeup_next_waiter()
1358 struct task_struct *owner) in rtmutex_spin_on_owner() argument
1365 if (owner != rt_mutex_owner(lock)) in rtmutex_spin_on_owner()
1382 if (!owner->on_cpu || need_resched() || in rtmutex_spin_on_owner()
1384 vcpu_is_preempted(task_cpu(owner))) { in rtmutex_spin_on_owner()
1396 struct task_struct *owner) in rtmutex_spin_on_owner() argument
1419 struct task_struct *owner = rt_mutex_owner(lock); in remove_waiter() local
1433 if (!owner || !is_top_waiter) in remove_waiter()
1436 raw_spin_lock(&owner->pi_lock); in remove_waiter()
1438 rt_mutex_dequeue_pi(owner, waiter); in remove_waiter()
1441 rt_mutex_enqueue_pi(owner, rt_mutex_top_waiter(lock)); in remove_waiter()
1443 rt_mutex_adjust_prio(owner); in remove_waiter()
1446 next_lock = task_blocked_on_lock(owner); in remove_waiter()
1448 raw_spin_unlock(&owner->pi_lock); in remove_waiter()
1458 get_task_struct(owner); in remove_waiter()
1462 rt_mutex_adjust_prio_chain(owner, RT_MUTEX_MIN_CHAINWALK, lock, in remove_waiter()
1486 struct task_struct *owner; in rt_mutex_slowlock_block() local
1510 owner = rt_mutex_owner(lock); in rt_mutex_slowlock_block()
1512 owner = NULL; in rt_mutex_slowlock_block()
1515 if (!owner || !rtmutex_spin_on_owner(lock, waiter, owner)) in rt_mutex_slowlock_block()
1672 struct task_struct *owner; in rtlock_slowlock_locked() local
1692 owner = rt_mutex_owner(lock); in rtlock_slowlock_locked()
1694 owner = NULL; in rtlock_slowlock_locked()
1697 if (!owner || !rtmutex_spin_on_owner(lock, &waiter, owner)) in rtlock_slowlock_locked()