/tools/testing/selftests/futex/functional/ |
D | futex_wait.c | 20 void *futex; variable 42 if (futex_wait(futex, 0, &to, flags)) in waiterfn() 56 futex = &f_private; in main() 80 info("Calling private futex_wait on futex: %p\n", futex); in main() 86 info("Calling private futex_wake on futex: %p\n", futex); in main() 87 res = futex_wake(futex, 1, FUTEX_PRIVATE_FLAG); in main() 106 futex = shared_data; in main() 108 info("Calling shared (page anon) futex_wait on futex: %p\n", futex); in main() 114 info("Calling shared (page anon) futex_wake on futex: %p\n", futex); in main() 115 res = futex_wake(futex, 1, 0); in main() [all …]
|
/tools/testing/selftests/futex/include/ |
D | futextest.h | 70 #define futex(uaddr, op, val, timeout, uaddr2, val3, opflags) \ macro 80 return futex(uaddr, FUTEX_WAIT, val, timeout, NULL, 0, opflags); in futex_wait() 90 return futex(uaddr, FUTEX_WAKE, nr_wake, NULL, NULL, 0, opflags); in futex_wake() 101 return futex(uaddr, FUTEX_WAIT_BITSET, val, timeout, NULL, bitset, in futex_wait_bitset() 112 return futex(uaddr, FUTEX_WAKE_BITSET, nr_wake, NULL, NULL, bitset, in futex_wake_bitset() 124 return futex(uaddr, FUTEX_LOCK_PI, detect, timeout, NULL, 0, opflags); in futex_lock_pi() 133 return futex(uaddr, FUTEX_UNLOCK_PI, 0, NULL, NULL, 0, opflags); in futex_unlock_pi() 143 return futex(uaddr, FUTEX_WAKE_OP, nr_wake, nr_wake2, uaddr2, wake_op, in futex_wake_op() 159 return futex(uaddr, FUTEX_REQUEUE, nr_wake, nr_requeue, uaddr2, 0, in futex_requeue() 172 return futex(uaddr, FUTEX_CMP_REQUEUE, nr_wake, nr_requeue, uaddr2, in futex_cmp_requeue() [all …]
|
/tools/perf/bench/ |
D | futex.h | 50 #define futex(uaddr, op, val, timeout, uaddr2, val3, opflags) \ macro 60 return futex(uaddr, FUTEX_WAIT, val, timeout, NULL, 0, opflags); in futex_wait() 70 return futex(uaddr, FUTEX_WAKE, nr_wake, NULL, NULL, 0, opflags); in futex_wake() 79 return futex(uaddr, FUTEX_LOCK_PI, 0, timeout, NULL, 0, opflags); in futex_lock_pi() 88 return futex(uaddr, FUTEX_UNLOCK_PI, 0, NULL, NULL, 0, opflags); in futex_unlock_pi() 100 return futex(uaddr, FUTEX_CMP_REQUEUE, nr_wake, nr_requeue, uaddr2, in futex_cmp_requeue() 116 return futex(uaddr, FUTEX_WAIT_REQUEUE_PI, val, timeout, uaddr2, 0, in futex_wait_requeue_pi() 133 return futex(uaddr, FUTEX_CMP_REQUEUE_PI, 1, nr_requeue, uaddr2, in futex_cmp_requeue_pi()
|
D | Build | 5 perf-y += futex-hash.o 6 perf-y += futex-wake.o 7 perf-y += futex-wake-parallel.o 8 perf-y += futex-requeue.o 9 perf-y += futex-lock-pi.o
|
D | futex-lock-pi.c | 28 u_int32_t *futex; member 96 ret = futex_lock_pi(w->futex, NULL, futex_flag); in workerfn() 101 w->tid, w->futex, ret); in workerfn() 109 ret = futex_unlock_pi(w->futex, futex_flag); in workerfn() 112 w->tid, w->futex, ret); in workerfn() 132 worker[i].futex = calloc(1, sizeof(u_int32_t)); in create_threads() 133 if (!worker[i].futex) in create_threads() 136 worker[i].futex = &global_futex; in create_threads() 227 worker[i].tid, worker[i].futex, t); in bench_futex_lock_pi() 230 zfree(&worker[i].futex); in bench_futex_lock_pi()
|
D | futex-hash.c | 44 u_int32_t *futex; member 91 ret = futex_wait(&w->futex[i], 1234, NULL, futex_flag); in workerfn() 175 worker[i].futex = calloc(params.nfutexes, sizeof(*worker[i].futex)); in bench_futex_hash() 176 if (!worker[i].futex) in bench_futex_hash() 221 worker[i].tid, &worker[i].futex[0], t); in bench_futex_hash() 224 worker[i].tid, &worker[i].futex[0], in bench_futex_hash() 225 &worker[i].futex[params.nfutexes-1], t); in bench_futex_hash() 228 zfree(&worker[i].futex); in bench_futex_hash()
|
D | futex-wake-parallel.c | 48 static u_int32_t futex = 0; variable 85 waker->nwoken = futex_wake(&futex, nwakes, futex_flag); in waking_workerfn() 136 if (futex_wait(&futex, 0, NULL, futex_flag) != EINTR) in blocked_workerfn() 280 &futex, params.nwakes, nwakes); in bench_futex_wake_parallel()
|
/tools/testing/selftests/powerpc/benchmarks/ |
D | futex_bench.c | 18 #define futex(A, B, C, D, E, F) syscall(__NR_futex, A, B, C, D, E, F) macro 29 futex(&addr, FUTEX_WAKE, 1, NULL, NULL, 0); in test_futex()
|
/tools/perf/scripts/python/bin/ |
D | futex-contention-report | 4 perf script $@ -s "$PERF_EXEC_PATH"/scripts/python/futex-contention.py
|
/tools/testing/selftests/timens/ |
D | .gitignore | 4 futex
|
D | Makefile | 1 TEST_GEN_PROGS := timens timerfd timer clock_nanosleep procfs exec futex
|
/tools/testing/selftests/futex/ |
D | README | 3 Futex Test is intended to thoroughly test the Linux kernel futex system call 6 Functional tests shall test the documented behavior of the futex operation 54 based on the primary futex operation they test. Eventually this will become a
|
/tools/perf/Documentation/ |
D | perf-bench.txt | 61 'futex':: 206 SUITES FOR 'futex' 221 Suite for evaluating futex lock_pi calls.
|
/tools/testing/selftests/ |
D | Makefile | 21 TARGETS += futex
|
/tools/perf/arch/powerpc/entry/syscalls/ |
D | syscall.tbl | 275 221 32 futex sys_futex_time32 276 221 64 futex sys_futex 277 221 spu futex sys_futex
|
/tools/testing/kunit/test_data/ |
D | test_is_test_passed-no_tests_run_no_header.log | 26 futex hash table entries: 256 (order: 0, 6144 bytes)
|
D | test_output_isolated_correctly.log | 51 futex hash table entries: 256 (order: 0, 6144 bytes)
|
/tools/perf/arch/mips/entry/syscalls/ |
D | syscall_n64.tbl | 205 194 n64 futex sys_futex
|
/tools/perf/arch/x86/entry/syscalls/ |
D | syscall_64.tbl | 213 202 common futex sys_futex
|
/tools/perf/arch/s390/entry/syscalls/ |
D | syscall.tbl | 249 238 common futex sys_futex sys_futex_time32
|