Man Linux: Main Page and Category List


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


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


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


       -a, --affinity[=PROC]
              Run  on  procesor  number PROC. If PROC is not specified, run on
              current processor.

       -b, --breaktrace=USEC
              Send break  trace  command  when  latency  >  USEC.  This  is  a
              debugging  option  to control the latency tracer in the realtime
              preemption patch.  It is useful to track down  unexpected  large
              latencies of a system.

       -d, --distance=DIST
              Set the distance of thread intervals in microseconds (default is
              500 us). When  cylictest is called with the -t option  and  more
              than one thread is created, then this distance value is added to
              the   interval   of   the   threads:   Interval(thread   N)    =
              Interval(thread N-1) + DIST

       -f, --fork
              Instead  of  creating  threads  (which is the default), fork new

       -i, --interval=INTV
              Set the base interval of the thread(s) in microseconds  (default
              is  1000  us).  This  sets the interval of the first thread. See
              also -d.

       -l, --loops=LOOPS
              Set the number of loops. The default is 0 (endless). This option
              is  useful  for  automated  tests  with  a  given number of test
              cycles.  sigwaittest  is  stopped  once  the  number  of   timer
              intervals has been reached.

       -p, --prio=PRIO
              Set the priority of the process.

       -t, --threads[=NUM]
              Set  the number of test threads (default is 1, if this option is
              not given). If NUM is specified, create NUM test threads. If NUM
              is not specifed, NUM is set to the number of available CPUs.


       The following example was running on a 4-way CPU:

       # sigwaittest -a -t -p99 -i100 -d25 -l1000000
       #0: ID11510, P99, CPU0, I100; #1: ID11511, P99, CPU0, Cycles 1000000
       #2: ID11512, P98, CPU1, I125; #3: ID11513, P98, CPU1, Cycles 817484
       #4: ID11514, P97, CPU2, I150; #5: ID11515, P97, CPU2, Cycles 668213
       #6: ID11516, P96, CPU3, I175; #7: ID11517, P96, CPU3, Cycles 597344
       #1 -> #0, Min    1, Cur    2, Avg    3, Max   30
       #3 -> #2, Min    1, Cur   26, Avg    3, Max   42
       #5 -> #4, Min    1, Cur   46, Avg    4, Max   67
       #7 -> #6, Min    1, Cur    2, Avg    3, Max   74


       Carsten Emde <>


       kill(2), sigwait(3)

                                      0.1                       sigwaittest(8)