Lines Matching full:all
80 * wait-all operation.
82 * Any time we do a wake, we may need to wake "all" waiters as well as
83 * "any" waiters. In order to atomically wake "all" waiters, we must
84 * lock all of the objects, and that means grabbing the wait_all_lock
86 * However, wait-all is a rare operation, and grabbing the wait-all
89 * we skip trying to wake "all" waiters.
115 bool all; member
123 * Wait-all operations must atomically grab all objects, and be totally
128 * This device-wide lock is used to serialize wait-for-all
130 * wait-for-all.
202 bool all; in ntsync_lock_obj() local
205 all = atomic_read(&obj->all_hint); in ntsync_lock_obj()
206 if (unlikely(all)) { in ntsync_lock_obj()
212 return all; in ntsync_lock_obj()
215 static void ntsync_unlock_obj(struct ntsync_device *dev, struct ntsync_obj *obj, bool all) in ntsync_unlock_obj() argument
217 if (all) { in ntsync_unlock_obj()
413 bool all; in ntsync_sem_release() local
422 all = ntsync_lock_obj(dev, sem); in ntsync_sem_release()
427 if (all) in ntsync_sem_release()
432 ntsync_unlock_obj(dev, sem, all); in ntsync_sem_release()
462 bool all; in ntsync_mutex_unlock() local
473 all = ntsync_lock_obj(dev, mutex); in ntsync_mutex_unlock()
478 if (all) in ntsync_mutex_unlock()
483 ntsync_unlock_obj(dev, mutex, all); in ntsync_mutex_unlock()
512 bool all; in ntsync_mutex_kill() local
523 all = ntsync_lock_obj(dev, mutex); in ntsync_mutex_kill()
527 if (all) in ntsync_mutex_kill()
532 ntsync_unlock_obj(dev, mutex, all); in ntsync_mutex_kill()
541 bool all; in ntsync_event_set() local
546 all = ntsync_lock_obj(dev, event); in ntsync_event_set()
550 if (all) in ntsync_event_set()
556 ntsync_unlock_obj(dev, event, all); in ntsync_event_set()
568 bool all; in ntsync_event_reset() local
573 all = ntsync_lock_obj(dev, event); in ntsync_event_reset()
578 ntsync_unlock_obj(dev, event, all); in ntsync_event_reset()
591 bool all; in ntsync_sem_read() local
596 all = ntsync_lock_obj(dev, sem); in ntsync_sem_read()
601 ntsync_unlock_obj(dev, sem, all); in ntsync_sem_read()
613 bool all; in ntsync_mutex_read() local
619 all = ntsync_lock_obj(dev, mutex); in ntsync_mutex_read()
625 ntsync_unlock_obj(dev, mutex, all); in ntsync_mutex_read()
637 bool all; in ntsync_event_read() local
642 all = ntsync_lock_obj(dev, event); in ntsync_event_read()
647 ntsync_unlock_obj(dev, event, all); in ntsync_event_read()
871 const struct ntsync_wait_args *args, bool all, in setup_wait() argument
902 q->all = all; in setup_wait()
913 if (all) { in setup_wait()
914 /* Check that the objects are all distinct. */ in setup_wait()
959 bool all; in ntsync_wait_any() local
979 all = ntsync_lock_obj(dev, obj); in ntsync_wait_any()
981 ntsync_unlock_obj(dev, obj, all); in ntsync_wait_any()
998 all = ntsync_lock_obj(dev, obj); in ntsync_wait_any()
1000 ntsync_unlock_obj(dev, obj, all); in ntsync_wait_any()
1013 all = ntsync_lock_obj(dev, obj); in ntsync_wait_any()
1015 ntsync_unlock_obj(dev, obj, all); in ntsync_wait_any()
1093 bool all = ntsync_lock_obj(dev, obj); in ntsync_wait_all() local
1095 ntsync_unlock_obj(dev, obj, all); in ntsync_wait_all()
1127 bool all; in ntsync_wait_all() local
1129 all = ntsync_lock_obj(dev, obj); in ntsync_wait_all()
1131 ntsync_unlock_obj(dev, obj, all); in ntsync_wait_all()