Lines Matching full:uaddr
34 * @uaddr: address of first futex
36 * @val: typically expected value of uaddr, but varies by op
51 futex_syscall(volatile u_int32_t *uaddr, int op, u_int32_t val, struct timespec *timeout, in futex_syscall() argument
54 return syscall(SYS_futex, uaddr, op | opflags, val, timeout, uaddr2, val3); in futex_syscall()
58 futex_syscall_nr_requeue(volatile u_int32_t *uaddr, int op, u_int32_t val, int nr_requeue, in futex_syscall_nr_requeue() argument
61 return syscall(SYS_futex, uaddr, op | opflags, val, nr_requeue, uaddr2, val3); in futex_syscall_nr_requeue()
65 * futex_wait() - block on uaddr with optional timeout
69 futex_wait(u_int32_t *uaddr, u_int32_t val, struct timespec *timeout, int opflags) in futex_wait() argument
71 return futex_syscall(uaddr, FUTEX_WAIT, val, timeout, NULL, 0, opflags); in futex_wait()
75 * futex_wake() - wake one or more tasks blocked on uaddr
79 futex_wake(u_int32_t *uaddr, int nr_wake, int opflags) in futex_wake() argument
81 return futex_syscall(uaddr, FUTEX_WAKE, nr_wake, NULL, NULL, 0, opflags); in futex_wake()
85 * futex_lock_pi() - block on uaddr as a PI mutex
88 futex_lock_pi(u_int32_t *uaddr, struct timespec *timeout, int opflags) in futex_lock_pi() argument
90 return futex_syscall(uaddr, FUTEX_LOCK_PI, 0, timeout, NULL, 0, opflags); in futex_lock_pi()
94 * futex_unlock_pi() - release uaddr as a PI mutex, waking the top waiter
97 futex_unlock_pi(u_int32_t *uaddr, int opflags) in futex_unlock_pi() argument
99 return futex_syscall(uaddr, FUTEX_UNLOCK_PI, 0, NULL, NULL, 0, opflags); in futex_unlock_pi()
103 * futex_cmp_requeue() - requeue tasks from uaddr to uaddr2
108 futex_cmp_requeue(u_int32_t *uaddr, u_int32_t val, u_int32_t *uaddr2, int nr_wake, in futex_cmp_requeue() argument
111 return futex_syscall_nr_requeue(uaddr, FUTEX_CMP_REQUEUE, nr_wake, nr_requeue, uaddr2, in futex_cmp_requeue()
116 * futex_wait_requeue_pi() - block on uaddr and prepare to requeue to uaddr2
117 * @uaddr: non-PI futex source
124 futex_wait_requeue_pi(u_int32_t *uaddr, u_int32_t val, u_int32_t *uaddr2, in futex_wait_requeue_pi() argument
127 return futex_syscall(uaddr, FUTEX_WAIT_REQUEUE_PI, val, timeout, uaddr2, 0, in futex_wait_requeue_pi()
132 * futex_cmp_requeue_pi() - requeue tasks from uaddr to uaddr2
133 * @uaddr: non-PI futex source
141 futex_cmp_requeue_pi(u_int32_t *uaddr, u_int32_t val, u_int32_t *uaddr2, in futex_cmp_requeue_pi() argument
144 return futex_syscall_nr_requeue(uaddr, FUTEX_CMP_REQUEUE_PI, 1, nr_requeue, uaddr2, in futex_cmp_requeue_pi()