1svsematest(8)                                                    svsematest(8)
2
3
4

NAME

6       svsematest  -  Start  two threads or fork two processes and measure the
7       latency of SYSV semaphores
8

SYNTAX

10       svsematest [-a|-a PROC] [-b USEC] [-d DIST] [-f] [-i INTV]  [-l  loops]
11       [-p PRIO] [-t|-t NUM]
12

DESCRIPTION

14       The  program  svsematest  starts  two threads or, optionally, forks two
15       processes that are synchronized via SYSV semaphores  and  measures  the
16       latency between releasing a semaphore on one side and getting it on the
17       other side.
18

OPTIONS

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       -f, --fork
42              Instead of creating threads (which is  the  default),  fork  new
43              processes
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       -l, --loops=LOOPS
51              Set the number of loops. The default is 0 (endless). This option
52              is useful for automated  tests  with  a  given  number  of  test
53              cycles. svsematest is stopped once the number of timer intervals
54              has been reached.
55
56       -p, --prio=PRIO
57              Set the priority of the process.
58
59       -S, --smp
60              SMP testing: options -a -t and same priority of all threads
61
62       -t, --threads[=NUM]
63              Set the number of test threads (default is 1, if this option  is
64              not given). If NUM is specified, create NUM test threads. If NUM
65              is not specified, NUM is set to the number of available CPUs.
66

EXAMPLES

68       The following example was running on a 4-way CPU:
69
70       # svsematest -a -t -p99 -i100 -d25 -l1000000
71       #0: ID13110, P99, CPU0, I100; #1: ID13111, P99, CPU0, Cycles 1000000
72       #2: ID13112, P98, CPU1, I125; #3: ID13113, P98, CPU1, Cycles 813573
73       #4: ID13114, P97, CPU2, I150; #5: ID13115, P97, CPU2, Cycles 667285
74       #6: ID13116, P96, CPU3, I175; #7: ID13117, P96, CPU3, Cycles 591403
75       #1 -> #0, Min    1, Cur    2, Avg    2, Max   12
76       #3 -> #2, Min    1, Cur    3, Avg    2, Max   12
77       #5 -> #4, Min    1, Cur    3, Avg    3, Max   12
78       #7 -> #6, Min    1, Cur    2, Avg    3, Max   11
79

AUTHORS

81       Carsten Emde <C.Emde@osadl.org>
82

SEE ALSO

84       semop(2)
85
86                                      0.1                        svsematest(8)
Impressum