/linux/tools/perf/bench/ |
H A D | futex.h | 57 futex_syscall_nr_requeue(volatile u_int32_t *uaddr, int op, u_int32_t val, int nr_requeue, in futex_syscall_nr_requeue() argument 60 return syscall(SYS_futex, uaddr, op | opflags, val, nr_requeue, uaddr2, val3); in futex_syscall_nr_requeue() 104 * @nr_requeue: requeue up to this many tasks 108 int nr_requeue, int opflags) in futex_cmp_requeue() argument 110 return futex_syscall_nr_requeue(uaddr, FUTEX_CMP_REQUEUE, nr_wake, nr_requeue, uaddr2, in futex_cmp_requeue() 134 * @nr_requeue: requeue up to this many tasks 141 int nr_requeue, int opflags) in futex_cmp_requeue_pi() argument 143 return futex_syscall_nr_requeue(uaddr, FUTEX_CMP_REQUEUE_PI, 1, nr_requeue, uaddr2, in futex_cmp_requeue_pi()
|
/linux/tools/testing/selftests/futex/include/ |
H A D | futextest.h | 75 * some of the types over overloaded (timeout is used for nr_requeue for 161 * @nr_requeue: requeue up to this many tasks 167 futex_requeue(futex_t *uaddr, futex_t *uaddr2, int nr_wake, int nr_requeue, in futex_requeue() argument 170 return futex(uaddr, FUTEX_REQUEUE, nr_wake, nr_requeue, uaddr2, 0, in futex_requeue() 177 * @nr_requeue: requeue up to this many tasks 181 int nr_requeue, int opflags) in futex_cmp_requeue() argument 183 return futex(uaddr, FUTEX_CMP_REQUEUE, nr_wake, nr_requeue, uaddr2, in futex_cmp_requeue() 208 * @nr_requeue: requeue up to this many tasks 212 int nr_requeue, int opflags) in futex_cmp_requeue_pi() argument 214 return futex(uaddr, FUTEX_CMP_REQUEUE_PI, nr_wake, nr_requeue, uaddr in futex_cmp_requeue_pi() [all...] |
/linux/tools/testing/selftests/futex/functional/ |
H A D | futex_requeue_pi.c | 149 int nr_requeue = INT_MAX; in broadcast_wakerfn() local 167 args->ret = futex_cmp_requeue_pi(&f1, old_val, &f2, nr_wake, nr_requeue, in broadcast_wakerfn() 198 int nr_requeue = 0; in signal_wakerfn() local 220 nr_wake, nr_requeue, in signal_wakerfn()
|
/linux/kernel/futex/ |
H A D | requeue.c | 365 * @nr_requeue: number of waiters to requeue (0-INT_MAX) 379 int nr_wake, int nr_requeue, u32 *cmpval, int requeue_pi) in futex_requeue() argument 387 if (nr_wake < 0 || nr_requeue < 0) in futex_requeue() 500 &exiting, nr_requeue); in futex_requeue() 585 if (task_count - nr_wake >= nr_requeue) in futex_requeue() 621 * Requeue nr_requeue waiters and possibly one more in the case in futex_requeue()
|
H A D | syscalls.c | 408 * @nr_requeue: number of futexes to requeue 418 int, nr_requeue) in SYSCALL_DEFINE4() argument 438 nr_wake, nr_requeue, &cmpval, 0); in SYSCALL_DEFINE4()
|
H A D | futex.h | 459 int nr_wake, int nr_requeue,
|
/linux/Documentation/locking/ |
H A D | futex-requeue-pi.rst | 118 nr_wake+nr_requeue tasks to the PI futex, calling 124 FUTEX_CMP_REQUEUE_PI accepts nr_wake and nr_requeue as arguments, but 126 requeue up to nr_wake + nr_requeue tasks. It will wake only as many 131 nr_wake=1. nr_requeue should be INT_MAX for broadcast and 0 for
|