Provided by: rt-tests_0.87-1ubuntu1_amd64 bug

NAME

       cyclictest - High resolution test program

SYNOPSIS

       cyclictest  [  -hfmnqrsvMS  ] [-a proc ] [-A align ] [-b usec ] [-c clock ] [-d dist ] [-h
       histogram ] [-i intv ] [-l loop ] [-o red ] [-p prio ] [-t num ] [-D time] [-w]  [-W]  [-y
       policy ] [ -S | -U ]

OPTIONS

       These  programs  follow the usual GNU command line syntax, with long options starting with
       two dashes ('--').
       A summary of options is included below.

       -a, --affinity[=PROC-SET]
              Run threads on the set  of  procesors  given  by  PROC-SET.   If  PROC-SET  is  not
              specified,  all processors will be used.  Threads will be assigned to processors in
              the set in numeric order, in a round-robin fashion.
              The set of processors can be specified as A,B,C, or A-C, or A-B,D-F,  and  so  on*.
              The  !  character  can be used to negate a set.  For example, !B-D means to use all
              available CPUs except B through D.  The cpu numbers are the same as  shown  in  the
              processor  field  in /proc/cpuinfo.  See numa(3) for more information on specifying
              CPU sets.  * Support for CPU sets requires libnuma version >= 2.  For  libnuma  v1,
              PROC-SET, if specified, must be a single CPU number.

       -A, --align=USEC
              Align measurement thread wakeups to a specific offset in microseconds

       -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 on a system. This option does only work with following
              kernel config options.

                  For kernel < 2.6.24:
                  * CONFIG_PREEMPT_RT=y
                  * CONFIG_WAKEUP_TIMING=y
                  * CONFIG_LATENCY_TRACE=y
                  * CONFIG_CRITICAL_PREEMPT_TIMING=y
                  * CONFIG_CRITICAL_IRQSOFF_TIMING=y

                  For kernel >= 2.6.24:
                  * CONFIG_PREEMPT_RT=y
                  * CONFIG_FTRACE
                  * CONFIG_IRQSOFF_TRACER=y
                  * CONFIG_PREEMPT_TRACER=y
                  * CONFIG_SCHED_TRACER=y
                  * CONFIG_WAKEUP_LATENCY_HIST

              kernel configuration options enabled. The USEC parameter to the -b option defines a
              maximum  latency value, which is compared against the actual latencies of the test.
              Once the measured latency is higher than the given maximum, the kernel  tracer  and
              cyclictest  is  stopped.  The trace can be read from /proc/latency_trace. Please be
              aware that the tracer adds significant overhead to the  kernel,  so  the  latencies
              will be much higher than on a kernel with latency tracing disabled.

       -c, --clock=CLOCK
              Selects the clock, which is used:

                  *  0  selects  CLOCK_MONOTONIC,  which  is the monotonic increasing system time
              (default).
                  * 1 selects CLOCK_REALTIME, which is the time of day time.

              CLOCK_REALTIME can be  set  by  settimeofday,  while  CLOCK_MONOTONIC  can  not  be
              modified by the user.  This option has no influence when the -s option is given.

       -C, --context
              context switch tracing (used with -b)

       -d, --distance=DIST
              Set  the  distance  of  thread  intervals  in microseconds (default is 500us). When
              cyclictest 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

       -E, --event
              event tracing (used with -b)

       -f, --ftrace
              Enable function tracing using ftrace as tracer. This option is available only  with
              -b.

       -h, --histogram=MAXLATENCYINUS
              Dump  latency  histogram  to  stdout.  US  means  the  max time to be be tracked in
              microseconds. When you use -h option to get histogram data,  Cyclictest  runs  many
              threads with same priority without priority--.

       -H, --histofall=MAXLATENCYINUS
              Same  as  -h  except  that an additional histogram column is displayed at the right
              that contains summary data of all thread histograms. If cyclictest  runs  a  single
              thread only, the -H option is equivalent to -h.

       -i, --interval=INTV
              Set  the  base  interval of the thread(s) in microseconds (default is 1000us). 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. Cyclictest is stopped once the
              number of timer intervals has been reached.

       -n, --nanosleep
              Use clock_nanosleep instead of posix interval timers. Setting this option runs  the
              tests with clock_nanosleep instead of posix interval timers.

       -N, --nsecs
              Show results in nanoseconds instead of microseconds, which is the default unit.

       -o, --oscope=RED
              Oscilloscope mode, reduce verbose output by RED.

       -O, --traceopt=TRACING_OPTION
              Used  to  pass  tracing options to ftrace tracers. May be invoked mutiple times for
              multiple    trace    options.    For    example    trace    options     look     at
              /sys/kernel/debug/tracing/trace_options

       -p, --prio=PRIO
              Set  the  priority of the first thread. The given priority is set to the first test
              thread.  Each  further  thread  gets  a  lower  priority:  Priority(Thread   N)   =
              max(Priority(Thread N-1) - 1, 0)

       -q, --quiet
              Run  the  tests quiet and print only a summary on exit. Useful for automated tests,
              where only the summary output needs to be captured.

       -r, --relative
              Use relative timers instead of absolute. The default behaviour of the tests  is  to
              use  absolute  timers. This option is there for completeness and should not be used
              for reproducible tests.

       -s, --system
              Use sys_nanosleep and sys_setitimer instead of posix timers. Note, that -s can only
              be  used  with one thread because itimers are per process and not per thread. -s in
              combination with -n uses the nanosleep syscall and is not restricted to one thread.

       -T, --tracer=TRACEFUNC
              set the ftrace tracer function. Used with the -b option. Must be one of  the  trace
              functions                  available                 from                 <debugfs-
              mountpoint>/kernel/debug/tracing/available_tracers

       -t, --threads[=NUM]
              Set the number of test threads (default is 1). Create NUM test threads. If  NUM  is
              not  specified,  NUM  is set to the number of available CPUs. See -d, -i and -p for
              further information.

       -m, --mlockall
              Lock current and future memory allocations to prevent being paged out

       -v, --verbose
              Output values on stdout for statistics. This option is used to  gather  statistical
              information  about  the  latency  distribution.  The  output is sent to stdout. The
              output format is:

              n:c:v

              where n=task number c=count v=latency value in us. Use this option  in  combination
              with -l

       -D, --duration=TIME
              Run the test for the specified time, which defaults to seconds. Append 'm', 'h', or
              'd' to specify minutes, hours or days

       -w, --wakeup
              task wakeup tracing (used with -b)

       -W, --wakeuprt
              rt-task wakeup tracing (used with -b)

       -y, --policy=NAME
              set the scheduler policy of the measurement threads where NAME is  one  of:  other,
              normal, batch, idle, fifo, rr

       -M, --refresh_on_max
              delay  updating  the  screen  until  a  new  max latency is hit (useful for running
              cyclictest on low-bandwidth connections)

       -S, --smp
              Set options for standard testing on SMP systems. Equivalent to using  the  options:
              "-t -a -n" as well keeping any specified priority equal across all threads

       -U, --numa
              Similar  to the above --smp option, this implies the "-t -a -n" options, as well as
              a constant measurement interval, but  also  forces  memory  allocations  using  the
              numa(3)  policy  library.  Thread stacks and data structures are allocated from the
              NUMA node local to the core to which the thread is bound. Requires  the  underlying
              kernel to have NUMA support compiled in.

SEE ALSO

       numactl(8),

AUTHOR

       cyclictest was written by Thomas Gleixner <tglx@linuxtronix.de>.

       This  manual  page was written by Alessio Igor Bogani <abogani@texware.it>, for the Debian
       project (but may be used by others).

                                        december  20, 2007                          CYCLICTEST(8)