Lines Matching refs:wait
345 struct six_lock_waiter *wait,
354 if (lock->wait_list.next != &wait->list)
366 * wait->lock_acquired: pairs with the smp_store_release in
369 if (smp_load_acquire(&wait->lock_acquired)) {
395 struct six_lock_waiter *wait,
405 struct six_lock_waiter *wait,
420 wait->task = current;
421 wait->lock_want = type;
422 wait->lock_acquired = false;
432 wait->start_time = local_clock();
439 if (time_before_eq64(wait->start_time, last->start_time))
440 wait->start_time = last->start_time + 1;
443 list_add_tail(&wait->list, &lock->wait_list);
457 if (six_optimistic_spin(lock, wait, type))
465 * wait->lock_acquired: pairs with the smp_store_release in
468 if (smp_load_acquire(&wait->lock_acquired))
483 acquired = wait->lock_acquired;
485 list_del(&wait->list);
511 * @wait: pointer to wait object, which will be added to lock's waitlist
521 * @wait object should be embedded into the struct that tracks held locks -
527 * When this function must block, @wait will be added to @lock's waitlist before
528 * calling trylock, and before calling @should_sleep_fn, and @wait will not be
532 * @wait.start_time will be monotonically increasing for any given waitlist, and
538 struct six_lock_waiter *wait,
544 wait->start_time = 0;
550 : six_lock_slowpath(lock, type, wait, should_sleep_fn, p, ip);