Lines Matching refs:vs
399 static int futex_wait_multiple_setup(struct futex_vector *vs, int count, int *woken) in futex_wait_multiple_setup() argument
422 if ((vs[i].w.flags & FUTEX_PRIVATE_FLAG) && retry) in futex_wait_multiple_setup()
425 ret = get_futex_key(u64_to_user_ptr(vs[i].w.uaddr), in futex_wait_multiple_setup()
426 !(vs[i].w.flags & FUTEX_PRIVATE_FLAG), in futex_wait_multiple_setup()
427 &vs[i].q.key, FUTEX_READ); in futex_wait_multiple_setup()
436 u32 __user *uaddr = (u32 __user *)(unsigned long)vs[i].w.uaddr; in futex_wait_multiple_setup()
437 struct futex_q *q = &vs[i].q; in futex_wait_multiple_setup()
438 u32 val = (u32)vs[i].w.val; in futex_wait_multiple_setup()
461 *woken = unqueue_multiple(vs, i); in futex_wait_multiple_setup()
496 static void futex_sleep_multiple(struct futex_vector *vs, unsigned int count, in futex_sleep_multiple() argument
502 for (; count; count--, vs++) { in futex_sleep_multiple()
503 if (!READ_ONCE(vs->q.lock_ptr)) in futex_sleep_multiple()
524 int futex_wait_multiple(struct futex_vector *vs, unsigned int count, in futex_wait_multiple() argument
533 ret = futex_wait_multiple_setup(vs, count, &hint); in futex_wait_multiple()
542 futex_sleep_multiple(vs, count, to); in futex_wait_multiple()
546 ret = unqueue_multiple(vs, count); in futex_wait_multiple()