1ptsematest(8)                                                    ptsematest(8)
2
3
4

NAME

6       ptsematest  - Start two threads and measure the latency of interprocess
7       communication with POSIX mutex.
8

SYNOPSIS

10       ptsematest [-a|--affinity [PROC]] [-b|--breaktrace USEC] [-d|--distance
11       DIST]  [-D|--duration  TIME]  [-h|--help]  [-i|--interval INTV] [--json
12       FILENAME] [-l|--loops LOOPS] [-p|--prio PRIO]  [-q|--quiet]  [-S|--smp]
13       [-t|--threads [NUM]]
14

DESCRIPTION

16       The  program  ptsematest  starts  two threads that are synchronized via
17       pthread_mutex_unlock()/pthread_mutex_lock() and  measures  the  latency
18       between releasing and getting the lock.
19

OPTIONS

21       -a, --affinity[=PROC]
22              Run  on  processor number PROC. If PROC is not specified, run on
23              current processor.
24
25       -b, --breaktrace=USEC
26              Send break trace command when latency > USEC. This is  a  debug‐
27              ging  option  to control the latency tracer in the realtime pre‐
28              emption patch.  It is useful to track down unexpected large  la‐
29              tencies of a system.
30
31       -d, --distance=DIST
32              Set the distance of thread intervals in microseconds (default is
33              500 us). When  cyclictest is called with the -t option and  more
34              than one thread is created, then this distance value is added to
35              the  interval  of  the  threads:  Interval(thread  N)  =  Inter‐
36              val(thread N-1) + DIST
37
38       -D, --duration=TIME
39              Specify a length for the test run.
40              Append 'm', 'h', or 'd' to specify minutes, hours or days.
41
42       -h, --help
43              Print help message.
44
45       -i, --interval=INTV
46              Set  the base interval of the thread(s) in microseconds (default
47              is 1000 us). This sets the interval of  the  first  thread.  See
48              also -d.
49
50       --json=FILENAME
51              Write final results into FILENAME, JSON formatted.
52
53       -l, --loops=LOOPS
54              Set the number of loops. The default is 0 (endless). This option
55              is useful for automated tests with a given number  of  test  cy‐
56              cles.  ptsematest  is stopped once the number of timer intervals
57              has been reached.
58
59       -p, --prio=PRIO
60              Set the priority of the process.
61
62       -q, --quiet
63              Print a summary only on exit. Useful for automated tests,  where
64              only the summary output needs to be captured.
65
66       -S, --smp
67              SMP testing: options -a -t and same priority
68
69       -t, --threads[=NUM]
70              Set  the number of test threads (default is 1, if this option is
71              not given). If NUM is specified, create NUM test threads. If NUM
72              is not specified, NUM is set to the number of available CPUs.
73

EXAMPLES

75       The following example was running on a 4-way processor:
76
77       # ptsematest -a -t -p99 -i100 -d25 -l1000000
78       #0: ID8672, P99, CPU0, I100; #1: ID8673, P99, CPU0, Cycles 1000000
79       #2: ID8674, P98, CPU1, I125; #3: ID8675, P98, CPU1, Cycles 811035
80       #4: ID8676, P97, CPU2, I150; #5: ID8677, P97, CPU2, Cycles 668130
81       #6: ID8678, P96, CPU3, I175; #7: ID8679, P96, CPU3, Cycles 589423
82       #1 -> #0, Min    1, Cur    1, Avg    2, Max   11
83       #3 -> #2, Min    1, Cur    2, Avg    2, Max   13
84       #5 -> #4, Min    1, Cur    4, Avg    3, Max   12
85       #7 -> #6, Min    1, Cur    4, Avg    2, Max   12
86

AUTHORS

88       Carsten Emde <C.Emde@osadl.org>
89

SEE ALSO

91       pthread_mutex_lock(3p), pthread_mutex_unlock(3p)
92
93
94
95                                      0.1                        ptsematest(8)
Impressum