Man Linux: Main Page and Category List


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


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


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


       -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. svsematest 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:

       # svsematest -a -t -p99 -i100 -d25 -l1000000
       #0: ID13110, P99, CPU0, I100; #1: ID13111, P99, CPU0, Cycles 1000000
       #2: ID13112, P98, CPU1, I125; #3: ID13113, P98, CPU1, Cycles 813573
       #4: ID13114, P97, CPU2, I150; #5: ID13115, P97, CPU2, Cycles 667285
       #6: ID13116, P96, CPU3, I175; #7: ID13117, P96, CPU3, Cycles 591403
       #1 -> #0, Min    1, Cur    2, Avg    2, Max   12
       #3 -> #2, Min    1, Cur    3, Avg    2, Max   12
       #5 -> #4, Min    1, Cur    3, Avg    3, Max   12
       #7 -> #6, Min    1, Cur    2, Avg    3, Max   11


       Carsten Emde <>



                                      0.1                        svsematest(8)