1ptsematest(8) ptsematest(8)
2
3
4
6 ptsematest - Start two threads and measure the latency of interprocess
7 communication with POSIX mutex.
8
10 ptsematest [-a|--affinity [PROC]] [-b|--breaktrace USEC] [-d|--distance
11 DIST] [-D|--duration TIME][-i|--interval INTV] [-l|--loops LOOPS]
12 [-p|--prio PRIO] [-S|--smp] [-t|--threads [NUM]]
13
15 The program ptsematest starts two threads that are synchronized via
16 pthread_mutex_unlock()/pthread_mutex_lock() and measures the latency
17 between releasing and getting the lock.
18
20 -a, --affinity[=PROC]
21 Run on processor number PROC. If PROC is not specified, run on
22 current processor.
23
24 -b, --breaktrace=USEC
25 Send break trace command when latency > USEC. This is a debug‐
26 ging option to control the latency tracer in the realtime pre‐
27 emption patch. It is useful to track down unexpected large
28 latencies of a system.
29
30 -d, --distance=DIST
31 Set the distance of thread intervals in microseconds (default is
32 500 us). When cyclictest is called with the -t option and more
33 than one thread is created, then this distance value is added to
34 the interval of the threads: Interval(thread N) = Inter‐
35 val(thread N-1) + DIST
36
37 -D, --duration=TIME
38 Specify a length for the test run.
39 Append 'm', 'h', or 'd' to specify minutes, hours or days.
40
41 -i, --interval=INTV
42 Set the base interval of the thread(s) in microseconds (default
43 is 1000 us). This sets the interval of the first thread. See
44 also -d.
45
46 -l, --loops=LOOPS
47 Set the number of loops. The default is 0 (endless). This option
48 is useful for automated tests with a given number of test
49 cycles. ptsematest is stopped once the number of timer intervals
50 has been reached.
51
52 -p, --prio=PRIO
53 Set the priority of the process.
54
55 -S, --smp
56 SMP testing: options -a -t and same priority
57
58 -t, --threads[=NUM]
59 Set the number of test threads (default is 1, if this option is
60 not given). If NUM is specified, create NUM test threads. If NUM
61 is not specified, NUM is set to the number of available CPUs.
62
64 The following example was running on a 4-way processor:
65
66 # ptsematest -a -t -p99 -i100 -d25 -l1000000
67 #0: ID8672, P99, CPU0, I100; #1: ID8673, P99, CPU0, Cycles 1000000
68 #2: ID8674, P98, CPU1, I125; #3: ID8675, P98, CPU1, Cycles 811035
69 #4: ID8676, P97, CPU2, I150; #5: ID8677, P97, CPU2, Cycles 668130
70 #6: ID8678, P96, CPU3, I175; #7: ID8679, P96, CPU3, Cycles 589423
71 #1 -> #0, Min 1, Cur 1, Avg 2, Max 11
72 #3 -> #2, Min 1, Cur 2, Avg 2, Max 13
73 #5 -> #4, Min 1, Cur 4, Avg 3, Max 12
74 #7 -> #6, Min 1, Cur 4, Avg 2, Max 12
75
77 Carsten Emde <C.Emde@osadl.org>
78
80 pthread_mutex_lock(3p), pthread_mutex_unlock(3p)
81
82
83
84 0.1 ptsematest(8)