1sigwaittest(8)                                                  sigwaittest(8)
2
3
4

NAME

6       sigwaittest  -  Start two threads or fork two processes and measure the
7       latency between sending and receiving a signal
8

SYNTAX

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

DESCRIPTION

14       The  program  sigwaittest  starts two threads or, optionally, forks two
15       processes that are synchronized via signals and  measures  the  latency
16       between sending a signal and returning from sigwait().
17

OPTIONS

19       -a, --affinity[=PROC]
20              Run  on  processor number PROC. If PROC is not specified, run on
21              current processor.
22
23       -b, --breaktrace=USEC
24              Send break trace command when latency > USEC. This is  a  debug‐
25              ging  option  to control the latency tracer in the realtime pre‐
26              emption patch.  It is useful  to  track  down  unexpected  large
27              latencies of a system.
28
29       -d, --distance=DIST
30              Set the distance of thread intervals in microseconds (default is
31              500 us). When  cyclictest is called with the -t option and  more
32              than one thread is created, then this distance value is added to
33              the  interval  of  the  threads:  Interval(thread  N)  =  Inter‐
34              val(thread N-1) + DIST
35
36       -D, --duration=TIME
37              Specify a length for the test run.
38              Append 'm', 'h', or 'd' to specify minutes, hours or days.
39
40       -f, --fork
41              Instead  of  creating  threads  (which is the default), fork new
42              processes
43
44       -i, --interval=INTV
45              Set the base interval of the thread(s) in microseconds  (default
46              is  1000  us).  This  sets the interval of the first thread. See
47              also -d.
48
49       -l, --loops=LOOPS
50              Set the number of loops. The default is 0 (endless). This option
51              is  useful  for  automated  tests  with  a  given number of test
52              cycles. sigwaittest is stopped once the number of  timer  inter‐
53              vals has been reached.
54
55       -p, --prio=PRIO
56              Set the priority of the process.
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

EXAMPLES

64       The following example was running on a 4-way CPU:
65
66       # sigwaittest -a -t -p99 -i100 -d25 -l1000000
67       #0: ID11510, P99, CPU0, I100; #1: ID11511, P99, CPU0, Cycles 1000000
68       #2: ID11512, P98, CPU1, I125; #3: ID11513, P98, CPU1, Cycles 817484
69       #4: ID11514, P97, CPU2, I150; #5: ID11515, P97, CPU2, Cycles 668213
70       #6: ID11516, P96, CPU3, I175; #7: ID11517, P96, CPU3, Cycles 597344
71       #1 -> #0, Min    1, Cur    2, Avg    3, Max   30
72       #3 -> #2, Min    1, Cur   26, Avg    3, Max   42
73       #5 -> #4, Min    1, Cur   46, Avg    4, Max   67
74       #7 -> #6, Min    1, Cur    2, Avg    3, Max   74
75

AUTHORS

77       Carsten Emde <C.Emde@osadl.org>
78

SEE ALSO

80       kill(2), sigwait(3)
81
82
83
84                                      0.1                       sigwaittest(8)
Impressum