• Home
  • Raw
  • Download

Lines Matching refs:owner

53 rt_mutex_set_owner(struct rt_mutex *lock, struct task_struct *owner)  in rt_mutex_set_owner()  argument
55 unsigned long val = (unsigned long)owner; in rt_mutex_set_owner()
60 lock->owner = (struct task_struct *)val; in rt_mutex_set_owner()
65 lock->owner = (struct task_struct *) in clear_rt_mutex_waiters()
66 ((unsigned long)lock->owner & ~RT_MUTEX_HAS_WAITERS); in clear_rt_mutex_waiters()
71 unsigned long owner, *p = (unsigned long *) &lock->owner; in fixup_rt_mutex_waiters() local
134 owner = READ_ONCE(*p); in fixup_rt_mutex_waiters()
135 if (owner & RT_MUTEX_HAS_WAITERS) in fixup_rt_mutex_waiters()
136 WRITE_ONCE(*p, owner & ~RT_MUTEX_HAS_WAITERS); in fixup_rt_mutex_waiters()
144 # define rt_mutex_cmpxchg_relaxed(l,c,n) (cmpxchg_relaxed(&l->owner, c, n) == c)
145 # define rt_mutex_cmpxchg_acquire(l,c,n) (cmpxchg_acquire(&l->owner, c, n) == c)
146 # define rt_mutex_cmpxchg_release(l,c,n) (cmpxchg_release(&l->owner, c, n) == c)
155 unsigned long owner, *p = (unsigned long *) &lock->owner; in mark_rt_mutex_waiters() local
158 owner = *p; in mark_rt_mutex_waiters()
159 } while (cmpxchg_relaxed(p, owner, in mark_rt_mutex_waiters()
160 owner | RT_MUTEX_HAS_WAITERS) != owner); in mark_rt_mutex_waiters()
173 struct task_struct *owner = rt_mutex_owner(lock); in unlock_rt_mutex_safe() local
201 return rt_mutex_cmpxchg_release(lock, owner, NULL); in unlock_rt_mutex_safe()
211 lock->owner = (struct task_struct *) in mark_rt_mutex_waiters()
212 ((unsigned long)lock->owner | RT_MUTEX_HAS_WAITERS); in mark_rt_mutex_waiters()
222 lock->owner = NULL; in unlock_rt_mutex_safe()
933 struct task_struct *owner = rt_mutex_owner(lock); in task_blocks_on_rt_mutex() local
949 if (owner == task) in task_blocks_on_rt_mutex()
967 if (!owner) in task_blocks_on_rt_mutex()
970 raw_spin_lock(&owner->pi_lock); in task_blocks_on_rt_mutex()
972 rt_mutex_dequeue_pi(owner, top_waiter); in task_blocks_on_rt_mutex()
973 rt_mutex_enqueue_pi(owner, waiter); in task_blocks_on_rt_mutex()
975 rt_mutex_adjust_prio(owner); in task_blocks_on_rt_mutex()
976 if (owner->pi_blocked_on) in task_blocks_on_rt_mutex()
983 next_lock = task_blocked_on_lock(owner); in task_blocks_on_rt_mutex()
985 raw_spin_unlock(&owner->pi_lock); in task_blocks_on_rt_mutex()
999 get_task_struct(owner); in task_blocks_on_rt_mutex()
1003 res = rt_mutex_adjust_prio_chain(owner, chwalk, lock, in task_blocks_on_rt_mutex()
1044 lock->owner = (void *) RT_MUTEX_HAS_WAITERS; in mark_wakeup_next_waiter()
1071 struct task_struct *owner = rt_mutex_owner(lock); in remove_waiter() local
1085 if (!owner || !is_top_waiter) in remove_waiter()
1088 raw_spin_lock(&owner->pi_lock); in remove_waiter()
1090 rt_mutex_dequeue_pi(owner, waiter); in remove_waiter()
1093 rt_mutex_enqueue_pi(owner, rt_mutex_top_waiter(lock)); in remove_waiter()
1095 rt_mutex_adjust_prio(owner); in remove_waiter()
1098 next_lock = task_blocked_on_lock(owner); in remove_waiter()
1100 raw_spin_unlock(&owner->pi_lock); in remove_waiter()
1110 get_task_struct(owner); in remove_waiter()
1114 rt_mutex_adjust_prio_chain(owner, RT_MUTEX_MIN_CHAINWALK, lock, in remove_waiter()
1620 lock->owner = NULL; in __rt_mutex_futex_unlock()
1678 lock->owner = NULL; in __rt_mutex_init()