Lines Matching refs:owner

50 rt_mutex_set_owner(struct rt_mutex *lock, struct task_struct *owner)  in rt_mutex_set_owner()  argument
52 unsigned long val = (unsigned long)owner; in rt_mutex_set_owner()
57 lock->owner = (struct task_struct *)val; in rt_mutex_set_owner()
62 lock->owner = (struct task_struct *) in clear_rt_mutex_waiters()
63 ((unsigned long)lock->owner & ~RT_MUTEX_HAS_WAITERS); in clear_rt_mutex_waiters()
77 # define rt_mutex_cmpxchg_relaxed(l,c,n) (cmpxchg_relaxed(&l->owner, c, n) == c)
78 # define rt_mutex_cmpxchg_acquire(l,c,n) (cmpxchg_acquire(&l->owner, c, n) == c)
79 # define rt_mutex_cmpxchg_release(l,c,n) (cmpxchg_release(&l->owner, c, n) == c)
88 unsigned long owner, *p = (unsigned long *) &lock->owner; in mark_rt_mutex_waiters() local
91 owner = *p; in mark_rt_mutex_waiters()
92 } while (cmpxchg_relaxed(p, owner, in mark_rt_mutex_waiters()
93 owner | RT_MUTEX_HAS_WAITERS) != owner); in mark_rt_mutex_waiters()
105 struct task_struct *owner = rt_mutex_owner(lock); in unlock_rt_mutex_safe() local
133 return rt_mutex_cmpxchg_release(lock, owner, NULL); in unlock_rt_mutex_safe()
143 lock->owner = (struct task_struct *) in mark_rt_mutex_waiters()
144 ((unsigned long)lock->owner | RT_MUTEX_HAS_WAITERS); in mark_rt_mutex_waiters()
153 lock->owner = NULL; in unlock_rt_mutex_safe()
893 struct task_struct *owner = rt_mutex_owner(lock); in task_blocks_on_rt_mutex() local
908 if (owner == task) in task_blocks_on_rt_mutex()
926 if (!owner) in task_blocks_on_rt_mutex()
929 raw_spin_lock_irqsave(&owner->pi_lock, flags); in task_blocks_on_rt_mutex()
931 rt_mutex_dequeue_pi(owner, top_waiter); in task_blocks_on_rt_mutex()
932 rt_mutex_enqueue_pi(owner, waiter); in task_blocks_on_rt_mutex()
934 __rt_mutex_adjust_prio(owner); in task_blocks_on_rt_mutex()
935 if (owner->pi_blocked_on) in task_blocks_on_rt_mutex()
942 next_lock = task_blocked_on_lock(owner); in task_blocks_on_rt_mutex()
944 raw_spin_unlock_irqrestore(&owner->pi_lock, flags); in task_blocks_on_rt_mutex()
958 get_task_struct(owner); in task_blocks_on_rt_mutex()
962 res = rt_mutex_adjust_prio_chain(owner, chwalk, lock, in task_blocks_on_rt_mutex()
1002 lock->owner = (void *) RT_MUTEX_HAS_WAITERS; in mark_wakeup_next_waiter()
1019 struct task_struct *owner = rt_mutex_owner(lock); in remove_waiter() local
1032 if (!owner || !is_top_waiter) in remove_waiter()
1035 raw_spin_lock_irqsave(&owner->pi_lock, flags); in remove_waiter()
1037 rt_mutex_dequeue_pi(owner, waiter); in remove_waiter()
1040 rt_mutex_enqueue_pi(owner, rt_mutex_top_waiter(lock)); in remove_waiter()
1042 __rt_mutex_adjust_prio(owner); in remove_waiter()
1045 next_lock = task_blocked_on_lock(owner); in remove_waiter()
1047 raw_spin_unlock_irqrestore(&owner->pi_lock, flags); in remove_waiter()
1057 get_task_struct(owner); in remove_waiter()
1061 rt_mutex_adjust_prio_chain(owner, RT_MUTEX_MIN_CHAINWALK, lock, in remove_waiter()
1536 lock->owner = NULL; in __rt_mutex_init()