Lines Matching refs:owner
87 sem->owner = NULL; in __init_rwsem()
300 struct task_struct *owner; in rwsem_can_spin_on_owner() local
307 owner = READ_ONCE(sem->owner); in rwsem_can_spin_on_owner()
308 if (!owner) { in rwsem_can_spin_on_owner()
321 ret = owner->on_cpu; in rwsem_can_spin_on_owner()
328 bool rwsem_spin_on_owner(struct rw_semaphore *sem, struct task_struct *owner) in rwsem_spin_on_owner() argument
333 while (sem->owner == owner) { in rwsem_spin_on_owner()
343 if (!owner->on_cpu || need_resched()) { in rwsem_spin_on_owner()
352 if (READ_ONCE(sem->owner)) in rwsem_spin_on_owner()
366 struct task_struct *owner; in rwsem_optimistic_spin() local
379 owner = READ_ONCE(sem->owner); in rwsem_optimistic_spin()
380 if (owner && !rwsem_spin_on_owner(sem, owner)) in rwsem_optimistic_spin()
395 if (!owner && (need_resched() || rt_task(current))) in rwsem_optimistic_spin()