Lines Matching refs:owner
87 sem->owner = NULL; in __init_rwsem()
301 struct task_struct *owner; in rwsem_can_spin_on_owner() local
308 owner = READ_ONCE(sem->owner); in rwsem_can_spin_on_owner()
309 if (!owner) { in rwsem_can_spin_on_owner()
322 ret = owner->on_cpu; in rwsem_can_spin_on_owner()
329 bool rwsem_spin_on_owner(struct rw_semaphore *sem, struct task_struct *owner) in rwsem_spin_on_owner() argument
334 while (sem->owner == owner) { in rwsem_spin_on_owner()
344 if (!owner->on_cpu || need_resched()) { in rwsem_spin_on_owner()
353 if (READ_ONCE(sem->owner)) in rwsem_spin_on_owner()
367 struct task_struct *owner; in rwsem_optimistic_spin() local
380 owner = READ_ONCE(sem->owner); in rwsem_optimistic_spin()
381 if (owner && !rwsem_spin_on_owner(sem, owner)) in rwsem_optimistic_spin()
396 if (!owner && (need_resched() || rt_task(current))) in rwsem_optimistic_spin()