Home
last modified time | relevance | path

Searched refs:futex (Results 1 – 20 of 20) sorted by relevance

/tools/testing/selftests/futex/functional/
Dfutex_wait.c20 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/
Dfutextest.h70 #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/
Dfutex.h50 #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()
DBuild5 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
Dfutex-lock-pi.c28 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()
Dfutex-hash.c44 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()
Dfutex-wake-parallel.c48 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/
Dfutex_bench.c18 #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/
Dfutex-contention-report4 perf script $@ -s "$PERF_EXEC_PATH"/scripts/python/futex-contention.py
/tools/testing/selftests/timens/
D.gitignore4 futex
DMakefile1 TEST_GEN_PROGS := timens timerfd timer clock_nanosleep procfs exec futex
/tools/testing/selftests/futex/
DREADME3 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/
Dperf-bench.txt61 'futex'::
206 SUITES FOR 'futex'
221 Suite for evaluating futex lock_pi calls.
/tools/testing/selftests/
DMakefile21 TARGETS += futex
/tools/perf/arch/powerpc/entry/syscalls/
Dsyscall.tbl275 221 32 futex sys_futex_time32
276 221 64 futex sys_futex
277 221 spu futex sys_futex
/tools/testing/kunit/test_data/
Dtest_is_test_passed-no_tests_run_no_header.log26 futex hash table entries: 256 (order: 0, 6144 bytes)
Dtest_output_isolated_correctly.log51 futex hash table entries: 256 (order: 0, 6144 bytes)
/tools/perf/arch/mips/entry/syscalls/
Dsyscall_n64.tbl205 194 n64 futex sys_futex
/tools/perf/arch/x86/entry/syscalls/
Dsyscall_64.tbl213 202 common futex sys_futex
/tools/perf/arch/s390/entry/syscalls/
Dsyscall.tbl249 238 common futex sys_futex sys_futex_time32