/linux-6.1.9/tools/testing/selftests/futex/include/ |
D | futextest.h | 88 futex_wake(futex_t *uaddr, int nr_wake, int opflags) in futex_wake() argument 90 return futex(uaddr, FUTEX_WAKE, nr_wake, NULL, NULL, 0, opflags); in futex_wake() 110 futex_wake_bitset(futex_t *uaddr, int nr_wake, u_int32_t bitset, int opflags) in futex_wake_bitset() argument 112 return futex(uaddr, FUTEX_WAKE_BITSET, nr_wake, NULL, NULL, bitset, in futex_wake_bitset() 140 futex_wake_op(futex_t *uaddr, futex_t *uaddr2, int nr_wake, int nr_wake2, in futex_wake_op() argument 143 return futex(uaddr, FUTEX_WAKE_OP, nr_wake, nr_wake2, uaddr2, wake_op, in futex_wake_op() 156 futex_requeue(futex_t *uaddr, futex_t *uaddr2, int nr_wake, int nr_requeue, in futex_requeue() argument 159 return futex(uaddr, FUTEX_REQUEUE, nr_wake, nr_requeue, uaddr2, 0, in futex_requeue() 169 futex_cmp_requeue(futex_t *uaddr, futex_t val, futex_t *uaddr2, int nr_wake, in futex_cmp_requeue() argument 172 return futex(uaddr, FUTEX_CMP_REQUEUE, nr_wake, nr_requeue, uaddr2, in futex_cmp_requeue() [all …]
|
/linux-6.1.9/tools/perf/bench/ |
D | futex.h | 77 futex_wake(u_int32_t *uaddr, int nr_wake, int opflags) in futex_wake() argument 79 return futex_syscall(uaddr, FUTEX_WAKE, nr_wake, NULL, NULL, 0, opflags); in futex_wake() 106 futex_cmp_requeue(u_int32_t *uaddr, u_int32_t val, u_int32_t *uaddr2, int nr_wake, in futex_cmp_requeue() argument 109 return futex_syscall_nr_requeue(uaddr, FUTEX_CMP_REQUEUE, nr_wake, nr_requeue, uaddr2, in futex_cmp_requeue()
|
/linux-6.1.9/kernel/futex/ |
D | requeue.c | 365 int nr_wake, int nr_requeue, u32 *cmpval, int requeue_pi) in futex_requeue() argument 374 if (nr_wake < 0 || nr_requeue < 0) in futex_requeue() 415 if (nr_wake != 1) in futex_requeue() 571 if (task_count - nr_wake >= nr_requeue) in futex_requeue() 593 if (++task_count <= nr_wake) in futex_requeue()
|
D | futex.h | 264 u32 __user *uaddr2, int nr_wake, int nr_requeue, 285 extern int futex_wake(u32 __user *uaddr, unsigned int flags, int nr_wake, u32 bitset); 288 u32 __user *uaddr2, int nr_wake, int nr_wake2, int op);
|
D | waitwake.c | 143 int futex_wake(u32 __user *uaddr, unsigned int flags, int nr_wake, u32 bitset) in futex_wake() argument 178 if (++ret >= nr_wake) in futex_wake() 239 int nr_wake, int nr_wake2, int op) in futex_wake_op() argument 293 if (++ret >= nr_wake) in futex_wake_op()
|
/linux-6.1.9/tools/testing/selftests/futex/functional/ |
D | futex_requeue_pi.c | 150 int nr_wake = 1; in broadcast_wakerfn() local 165 args->ret = futex_cmp_requeue_pi(&f1, old_val, &f2, nr_wake, nr_requeue, in broadcast_wakerfn() 198 int nr_wake = 1; in signal_wakerfn() local 218 nr_wake, nr_requeue, in signal_wakerfn()
|
/linux-6.1.9/Documentation/locking/ |
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
|