/linux-master/tools/perf/bench/ |
H A D | futex.h | 37 * @uaddr2: address of second futex for some ops 50 volatile u_int32_t *uaddr2, int val3, int opflags) 52 return syscall(SYS_futex, uaddr, op | opflags, val, timeout, uaddr2, val3); 57 volatile u_int32_t *uaddr2, int val3, int opflags) 59 return syscall(SYS_futex, uaddr, op | opflags, val, nr_requeue, uaddr2, val3); 101 * futex_cmp_requeue() - requeue tasks from uaddr to uaddr2 106 futex_cmp_requeue(u_int32_t *uaddr, u_int32_t val, u_int32_t *uaddr2, int nr_wake, argument 109 return futex_syscall_nr_requeue(uaddr, FUTEX_CMP_REQUEUE, nr_wake, nr_requeue, uaddr2, 114 * futex_wait_requeue_pi() - block on uaddr and prepare to requeue to uaddr2 116 * @uaddr2 49 futex_syscall(volatile u_int32_t *uaddr, int op, u_int32_t val, struct timespec *timeout, volatile u_int32_t *uaddr2, int val3, int opflags) argument 56 futex_syscall_nr_requeue(volatile u_int32_t *uaddr, int op, u_int32_t val, int nr_requeue, volatile u_int32_t *uaddr2, int val3, int opflags) argument 122 futex_wait_requeue_pi(u_int32_t *uaddr, u_int32_t val, u_int32_t *uaddr2, struct timespec *timeout, int opflags) argument 139 futex_cmp_requeue_pi(u_int32_t *uaddr, u_int32_t val, u_int32_t *uaddr2, int nr_requeue, int opflags) argument [all...] |
/linux-master/tools/testing/selftests/futex/include/ |
H A D | futextest.h | 57 * @uaddr2: address of second futex for some ops\ 70 #define futex(uaddr, op, val, timeout, uaddr2, val3, opflags) \ 71 syscall(SYS_futex, uaddr, op | opflags, val, timeout, uaddr2, val3) 140 futex_wake_op(futex_t *uaddr, futex_t *uaddr2, int nr_wake, int nr_wake2, argument 143 return futex(uaddr, FUTEX_WAKE_OP, nr_wake, nr_wake2, uaddr2, wake_op, 156 futex_requeue(futex_t *uaddr, futex_t *uaddr2, int nr_wake, int nr_requeue, argument 159 return futex(uaddr, FUTEX_REQUEUE, nr_wake, nr_requeue, uaddr2, 0, 164 * futex_cmp_requeue() - requeue tasks from uaddr to uaddr2 169 futex_cmp_requeue(futex_t *uaddr, futex_t val, futex_t *uaddr2, int nr_wake, argument 172 return futex(uaddr, FUTEX_CMP_REQUEUE, nr_wake, nr_requeue, uaddr2, 185 futex_wait_requeue_pi(futex_t *uaddr, futex_t val, futex_t *uaddr2, struct timespec *timeout, int opflags) argument 200 futex_cmp_requeue_pi(futex_t *uaddr, futex_t val, futex_t *uaddr2, int nr_wake, int nr_requeue, int opflags) argument [all...] |
/linux-master/include/linux/ |
H A D | futex.h | 79 u32 __user *uaddr2, u32 val2, u32 val3); 86 ktime_t *timeout, u32 __user *uaddr2, 85 do_futex(u32 __user *uaddr, int op, u32 val, ktime_t *timeout, u32 __user *uaddr2, u32 val2, u32 val3) argument
|
H A D | restart_block.h | 36 u32 __user *uaddr2; member in struct:restart_block::__anon604::__anon605
|
H A D | syscalls.h | 548 u32 __user *uaddr2, u32 val3); 551 u32 __user *uaddr2, u32 val3);
|
/linux-master/kernel/futex/ |
H A D | syscalls.c | 85 u32 __user *uaddr2, u32 val2, u32 val3) 109 return futex_requeue(uaddr, flags, uaddr2, flags, val, val2, NULL, 0); 111 return futex_requeue(uaddr, flags, uaddr2, flags, val, val2, &val3, 0); 113 return futex_wake_op(uaddr, flags, uaddr2, val, val2, val3); 126 uaddr2); 128 return futex_requeue(uaddr, flags, uaddr2, flags, val, val2, &val3, 1); 162 u32 __user *, uaddr2, u32, val3) 179 return do_futex(uaddr, op, val, tp, uaddr2, (unsigned long)utime, val3); 493 const struct old_timespec32 __user *, utime, u32 __user *, uaddr2, 509 return do_futex(uaddr, op, val, tp, uaddr2, (unsigne 84 do_futex(u32 __user *uaddr, int op, u32 val, ktime_t *timeout, u32 __user *uaddr2, u32 val2, u32 val3) argument [all...] |
H A D | requeue.c | 46 * or to IGNORE. DONE/LOCKED means the waiter q is now on the uaddr2 futex 349 * futex_requeue() - Requeue waiters from uaddr1 to uaddr2 352 * @uaddr2: target futex user address 360 * Requeue waiters on uaddr1 to uaddr2. In the requeue_pi case, try to acquire 361 * uaddr2 atomically on behalf of the top waiter. 368 u32 __user *uaddr2, unsigned int flags2, 395 if (uaddr1 == uaddr2) 403 * only sense if the PI futex @uaddr2 is uncontended as 405 * @uaddr2 before waking the waiter. The waiter can then 434 ret = get_futex_key(uaddr2, flags 367 futex_requeue(u32 __user *uaddr1, unsigned int flags1, u32 __user *uaddr2, unsigned int flags2, int nr_wake, int nr_requeue, u32 *cmpval, int requeue_pi) argument 766 futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, u32 val, ktime_t *abs_time, u32 bitset, u32 __user *uaddr2) argument [all...] |
H A D | futex.h | 339 *uaddr2); 342 u32 __user *uaddr2, unsigned int flags2, 380 u32 __user *uaddr2, int nr_wake, int nr_wake2, int op);
|
H A D | waitwake.c | 253 int futex_wake_op(u32 __user *uaddr1, unsigned int flags, u32 __user *uaddr2, argument 266 ret = get_futex_key(uaddr2, flags, &key2, FUTEX_WRITE); 275 op_ret = futex_atomic_op_inuser(op, uaddr2); 290 ret = fault_in_user_writeable(uaddr2);
|
/linux-master/tools/perf/scripts/python/ |
H A D | futex-contention.py | 30 nr, uaddr, op, val, utime, uaddr2, val3):
|