"-" must be escaped ("\-") to be interpreted as minus, otherwise they
might be rendered as hyphen which makes it impossible to search for or
to cut'n'paste.
See http://lintian.debian.org/tags/hyphen-used-as-minus-sign.html for a
detailed explanation.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Note: the previous one sucked rockz, please try this one instead.
When running on a machine with not enough bandwidth it can be helpful to
only update the status when a new max is hit.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
As I'm not Clark I cannot test my changes, so this is completly
untested :-)
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Clark Williams <williams@redhat.com>
so a normal user is able to take a look on the available options
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Clark Williams <williams@redhat.com>
if cyclictest is started with invalid arguments or $SOMETHING, then it
prints the help screen and the exit code is 0 which is wrong.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Clark Williams <williams@redhat.com>
moved policy display from individual threads to header with load average
did some sanity checking so that policy and priority match
Signed-off-by: Clark Williams <williams@redhat.com>
"cyclictest --help".
From: GeunSik Lim <leemgs1@gmail.com>
Reply-To: leemgs1@gmail.com
To: williams <williams@redhat.com>
Cc: linux-rt-users <linux-rt-users@vger.kernel.org>, tglx <tglx@linutronix.de>
When we use "#> cyclictest --help" command, we are confusing because of
random order of many options. Arrange alphabetically.
After Patch)
[root@fedora11 rt-tests]# ./cyclictest --help
cyclictest V 0.46
Usage:
cyclictest <options>
-a [NUM] --affinity run thread #N on processor #N, if possible
with NUM pin all threads to the processor NUM
-b USEC --breaktrace=USEC send break trace command when latency > USEC
-B --preemptirqs both preempt and irqsoff tracing (used with -b)
-c CLOCK --clock=CLOCK select clock
0 = CLOCK_MONOTONIC (default)
1 = CLOCK_REALTIME
-C --context context switch tracing (used with -b)
-d DIST --distance=DIST distance of thread intervals in us default=500
-D --duration=t specify a length for the test run
default is in seconds, but 'm', 'h', or 'd' maybe added
to modify value to minutes, hours or days
-E --event event tracing (used with -b)
-f --ftrace function trace (when -b is active)
-h --histogram=US dump a latency histogram to stdout after the run
(with same priority about many threads)
US is the max time to be be tracked in microseconds
-i INTV --interval=INTV base interval of thread in us default=1000
-I --irqsoff Irqsoff tracing (used with -b)
-l LOOPS --loops=LOOPS number of loops: default=0(endless)
-m --mlockall lock current and future memory allocations
-n --nanosleep use clock_nanosleep
-N --nsecs print results in ns instead of ms (default ms)
-o RED --oscope=RED oscilloscope mode, reduce verbose output by RED
-O TOPT --traceopt=TOPT trace option
-p PRIO --prio=PRIO priority of highest prio thread
-P --preemptoff Preempt off tracing (used with -b)
-q --quiet print only a summary on exit
-r --relative use relative timer instead of absolute
-s --system use sys_nanosleep and sys_setitimer
-t --threads one thread per available processor
-t [NUM] --threads=NUM number of threads:
without NUM, threads = max_cpus
without -t default = 1
-T TRACE --tracer=TRACER set tracing function
configured tracers: unavailable (debugfs not mounted)
-v --verbose output values on stdout for statistics
format: n:c:v n=tasknum c=count v=value in us
-w --wakeup task wakeup tracing (used with -b)
-W --wakeuprt rt task wakeup tracing (used with -b)
-y POLI --policy=POLI policy of realtime thread (1:FIFO, 2:RR)
format: --policy=1(default) or --policy=2
Signed-by-off: GeunSik Lim <geunsik.lim@samsung.com>
Signed-off-by: Clark Williams <williams@redhat.com>
users
From: GeunSik Lim <leemgs1@gmail.com>
To: williams <williams@redhat.com>
Cc: linux-rt-users <linux-rt-users@vger.kernel.org>, tglx <tglx@linutronix.de>
Current cyclictest support FIFO policy for static priority of
RT threads only. Append policy option to support FIFO or RR by user.
After this patch.
1) with FIFO about RT threads(default)
./cyclictest -t 5 -p 50
or ./cyclictest -t 5 -p 50 -y 1
or ./cyclictest -t 5 -p 50 --policy 1
2) with RR about RT threads(default)
./cyclictest -t 5 -p 50 -y 2
or ./cyclictest -t 5 -p 50 --policy 2
This is screenshot of threads using cyclictest & tuna utility after patch.
http://blogfiles6.naver.net/20090703_5/invain_1246588185266_sc7zEq_PNG/cyclictest-tuna-policy.PNG
Signed-off-by: GeunSik Lim <geunsik.lim@samsung.com>
Signed-off-by: Clark Williams <williams@redhat.com>
of many threads with -h
From: GeunSik Lim <leemgs1@gmail.com>
Reply-To: leemgs1@gmail.com
To: williams <williams@redhat.com>
Cc: linux-rt-users <linux-rt-users@vger.kernel.org>, tglx <tglx@linutronix.de>,
sdietrich@suse.de
If we run a many threads with -t option, "priority--" rt priority will assign
per thread in sequence. But, If we use -h option, all threads is same priority.
Append man page and cyclictest usage about the same priority of many threads
with -h option.
ex) cyclictest -t 5 -p 50 [enter] <-- without -h
ex) cyclictest -t 5 -p 50 -h 100 [enter] <-- with -h
Signed-off-by: GeunSik Lim <geunsik.lim@samsung.com>
Acked-by : Sven-Thorsten Dietrich <sdietrich@suse.de>
Signed-off-by: Clark Williams <williams@redhat.com>
Don't miss latency which exceed the histogram limit -
instead sample limit exceeding latency in the last bucket.
This is a leftover from cyclictest_histogram.patch:
-> Todo: Currently cyclictest does not report the number of samples
-> that exceeded the histogram max latency.
Handle OOM.
Signed-off-by: Daniel Gollub <dgollub@suse.de>
Reviewed-by: Sven-Thorsten Dietrich <sdietrich@suse.de>
--
This is useful when testing PREEMPT_NONE Kernels with cyclictest,
where latencies approaching 1 second can be observed.
Signed-off-by: Sven-Thorsten Dietrich <sdietrich@suse.de>
If clock_nanosleep() gets interrupted this could result in a negative
time diff from calcdiff().
With the histogram patch this leads to a segfault, since the time diff
is used as index for the histogram array:
Core was generated by `/usr/bin/cyclictest -n -q -p 99 -t 2 -i 500 -l
1000000 -h
20000'.
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000402324 in timerthread (param=<value optimized out>)
at src/cyclictest/cyclictest.c:339
339 stat->hist_array[diff] += 1;
(gdb) p diff
$1 = -751974
Signed-off-by: Daniel Gollub <dgollub@suse.de>
Acked-by: Sven-Thorsten Dietrich <sdietrich@suse.de>
You might wonder if this wasn't already fixed. Yes it was (in
f16ec27fb3), but the change was undone by 3e04327f7f.
While at it add an .br which makes the paragraph look a bit nicer.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This was noticed by GeunSik Lim.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: GeunSik Lim <leemgs1@gmail.com>
Cc: Luis Claudio R. Goncalves <lclaudio@uudg.org>
Cc: Clark Williams <williams@redhat.com>
Hello,
My first fix didn't took into account that long is 4 byte long on ARM. Therefor
I changed it to long long now, which works on my ARM board...
Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Clark Williams <williams@redhat.com>