summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Kleine-König <ukleinek@debian.org>2016-06-19 22:26:43 +0200
committerUwe Kleine-König <ukleinek@debian.org>2016-06-19 22:26:43 +0200
commit30de8fa94d428e3530b13c5c1cc440a2bf29e810 (patch)
tree61e148918a50bfa622cf4df061e966f47d51a4ab
parent8b796733d3d08f86e1e9ad1d1c59d6df6952f860 (diff)
parentbddffd32c9483318fe72d02183981bdcf006d9dc (diff)
downloadrt-tests-30de8fa94d428e3530b13c5c1cc440a2bf29e810.tar.gz
rt-tests-30de8fa94d428e3530b13c5c1cc440a2bf29e810.tar.xz
[debian] Merge tag 'v1.0' of git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests
v1.0
-rw-r--r--Makefile15
-rw-r--r--doc/release-checklist.txt9
-rw-r--r--src/backfire/sendme.82
-rw-r--r--src/cyclictest/cyclictest.8173
-rw-r--r--src/cyclictest/cyclictest.c67
-rw-r--r--src/hwlatdetect/hwlat.txt17
-rw-r--r--src/hwlatdetect/hwlatdetect.812
-rw-r--r--src/pi_tests/pi_stress.82
-rw-r--r--src/pmqtest/pmqtest.84
-rw-r--r--src/ptsematest/ptsematest.86
-rw-r--r--src/rt-migrate-test/rt-migrate-test.856
-rw-r--r--src/signaltest/signaltest.82
-rw-r--r--src/sigwaittest/sigwaittest.88
-rw-r--r--src/svsematest/svsematest.86
14 files changed, 234 insertions, 145 deletions
diff --git a/Makefile b/Makefile
index 280fd3b..5110357 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-VERSION = 0.97
+VERSION = 1.0
CC?=$(CROSS_COMPILE)gcc
AR?=$(CROSS_COMPILE)ar
@@ -57,16 +57,17 @@ ifneq ($(filter x86_64 i386 ia64 mips powerpc,$(machinetype)),)
NUMA := 1
endif
-# The default is to assume that you only have numa_parse_cpustring
-# If you are sure you have a version of libnuma with numa_parse_cpustring_all
+# The default is to assume that you have numa_parse_cpustring_all
+# If you have an older version of libnuma that only has numa_parse_cpustring
# then compile with
-# make HAVE_PARSE_CPUSTRING_ALL=1
+# make HAVE_PARSE_CPUSTRING_ALL=0
+HAVE_PARSE_CPUSTRING_ALL?=1
ifeq ($(NUMA),1)
CFLAGS += -DNUMA
NUMA_LIBS = -lnuma
-ifdef HAVE_PARSE_CPUSTRING_ALL
- CFLAGS += -DHAVE_PARSE_CPUSTRING_ALL
-endif
+ ifeq ($(HAVE_PARSE_CPUSTRING_ALL),1)
+ CFLAGS += -DHAVE_PARSE_CPUSTRING_ALL
+ endif
endif
include src/arch/android/Makefile
diff --git a/doc/release-checklist.txt b/doc/release-checklist.txt
deleted file mode 100644
index fa918d7..0000000
--- a/doc/release-checklist.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-0. merge changes to master branch
-1. make sure everything builds and runs
-2. update VERSION in Makefile
-3. update %changelog section in rt-tests.spec-in
-4. run 'make rpm' and fix any issues
-5. test install of rpm
-6. checkin any changed files using "version bump to X.Y" as comment
-7. generate annotated tag with git tag -a vX.Y
-8. run: "sh scripts/do-git-push X.Y"
diff --git a/src/backfire/sendme.8 b/src/backfire/sendme.8
index b9857ab..05f3a1c 100644
--- a/src/backfire/sendme.8
+++ b/src/backfire/sendme.8
@@ -12,7 +12,7 @@ The program \fBsendme\fR uses the \fBbackfire\fR driver to send a signal from dr
.SH "OPTIONS"
.TP
.B \-a, \-\-affinity[=PROC]
-Run on procesor number PROC. If PROC is not specified, run on current processor.
+Run on processor number PROC. If PROC is not specified, run on current processor.
.TP
.B \-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.
diff --git a/src/cyclictest/cyclictest.8 b/src/cyclictest/cyclictest.8
index 437e7a6..1d26ece 100644
--- a/src/cyclictest/cyclictest.8
+++ b/src/cyclictest/cyclictest.8
@@ -1,5 +1,5 @@
.\" Hey, EMACS: -*- nroff -*-
-.TH CYCLICTEST 8 "december 20, 2007"
+.TH CYCLICTEST 8 "April 22, 2016"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@@ -34,9 +34,9 @@ A summary of options is included below.
.\" For a complete description, see the Info files.
.TP
.B \-a, \-\-affinity[=PROC-SET]
-Run threads on the set of procesors given by PROC-SET. If PROC-SET is not
+Run threads on the set of processors 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.
+in the set in numeric order, in a round\-robin fashion.
.br
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
@@ -47,55 +47,31 @@ field in /proc/cpuinfo. See numa(3) for more information on specifying CPU sets
if specified, must be a single CPU number.
.TP
.B \-A, \-\-align=USEC
-Align measurement thread wakeups to a specific offset in microseconds
+Align thread wakeups to a specific offset in microseconds
.TP
.B \-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:
-.br
- * CONFIG_PREEMPT_RT=y
-.br
- * CONFIG_WAKEUP_TIMING=y
-.br
- * CONFIG_LATENCY_TRACE=y
-.br
- * CONFIG_CRITICAL_PREEMPT_TIMING=y
-.br
- * CONFIG_CRITICAL_IRQSOFF_TIMING=y
-.sp 1
- For kernel >= 2.6.24:
-.br
- * CONFIG_PREEMPT_RT=y
-.br
- * CONFIG_FTRACE
-.br
- * CONFIG_IRQSOFF_TRACER=y
-.br
- * CONFIG_PREEMPT_TRACER=y
-.br
- * CONFIG_SCHED_TRACER=y
-.br
- * 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.
+Send break trace command when latency > USEC
+.TP
+.B \-B, \-\-preemptirqs
+Both preempt and irqsoff tracing (used with -b)
.TP
.B \-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.
+select clock
+.br
+0 = CLOCK_MONOTONIC (default)
+.br
+1 = CLOCK_REALTIME
.TP
.B \-C, \-\-context
context switch tracing (used with \-b)
.TP
.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
+Distance of thread intervals in us, default = 500
+.TP
+.B \-D, \-\-duration=TIME
+Specify a length for the test run.
+.br
+Append 'm', 'h', or 'd' to specify minutes, hours or days.
.TP
.B \-E, \-\-event
event tracing (used with \-b)
@@ -103,21 +79,43 @@ event tracing (used with \-b)
.B \-f, \-\-ftrace
Enable function tracing using ftrace as tracer. This option is available only with \-b.
.TP
-.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\-\-.
+.B \-F, \-\-fifo=<path>
+Create a named pipe at path and write stats to it
+.TP
+.B \-h, \-\-histogram=US
+Dump latency histogram to stdout after the run. US is the max latency time to be be tracked in microseconds. This option runs all threads at the same priority.
.TP
.B \-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.
.TP
+.B \-\-histfile=<path>
+Dump the latency histogram to <path> instead of stdout.
+.TP
.B \-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.
.TP
+.B \-I, \-\-irqsoff
+Irgsoff tracing (used with \-b)
+.TP
.B \-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.
.TP
+.B \-\-laptop
+Save battery when running cyclictest. This will give you poorer realtime results, but will not drain your battery so quickly.
+.TP
+.B \-m, \-\-mlockall
+Lock current and future memory allocations to prevent being paged out
+.TP
+.B \\-M, \-\-refresh_on_max
+Delay updating the screen until a new max latency is hit. (useful for
+running cyclictest on low-bandwidth connections)
+.TP
.B \-n, \-\-nanosleep
Use clock_nanosleep instead of posix interval timers. Setting this option runs the tests with clock_nanosleep instead of posix interval timers.
.TP
+.B \-\-notrace
+suppress tracing
+.TP
.B \-N, \-\-nsecs
Show results in nanoseconds instead of microseconds, which is the default unit.
.TP
@@ -125,42 +123,77 @@ Show results in nanoseconds instead of microseconds, which is the default unit.
Oscilloscope mode, reduce verbose output by RED.
.TP
.B \-O, \-\-traceopt=TRACING_OPTION
-Used to pass tracing options to ftrace tracers. May be invoked mutiple
+Used to pass tracing options to ftrace tracers. May be invoked multiple
times for multiple trace options. For example trace options look at /sys/kernel/debug/tracing/trace_options
.TP
.B \-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)
.TP
+.B \-P, \-\-preemptoff
+Preempt off tracing (used with -b)
+.TP
+.B \-\-policy=NAME
+set the scheduler policy of the measurement threads
+where NAME is one of: other, normal, batch, idle, fifo, rr
+.TP
+.B \-\-priospread
+spread priority levels starting at a specified value
+.TP
.B \-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.
+Print a summary only on exit. Useful for automated tests, where only the summary output needs to be captured.
.TP
.B \-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.
.TP
+.B \-R, \-\-resolution
+Check clock resolution, calling clock_gettime() many times. List of lock_gettime() values will be reported with -X
+.TP
+.B \-\-secaligned [USEC]
+align thread wakeups to the next full second and apply the optional offset.
+.TP
.B \-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.
.TP
-.B \-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
+.B \\-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
+.TP
+.B \-\-spike=<trigger>
+record all spikes > trigger
+.TP
+.B \-\-spike-nodes=[num of nodes]
+These are the maximum number of spikes we can record.
+.br
+The default is 1024 if not specified.
+.TP
+.B \\-\-smi
+Enable SMI count/detection on processors with SMI count support.
.TP
.B \-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.
.TP
-.B \-m, \-\-mlockall
-Lock current and future memory allocations to prevent being paged out
+.B \-\-tracemark
+write a trace mark when \-b latency is exceeded.
+.TP
+.B \-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
+.TP
+.B \-u, \-\-unbuffered
+force unbuffered output for live processing
+.TP
+.B \-U, --numa
+Standard NUMA testing (similar to SMP option) thread data structures allocated from local node.
.TP
.B \-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
-.TP
-.B \\-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
+where n=task number c=count v=latency value in us.
.TP
.B \\-w, \-\-wakeup
task wakeup tracing (used with \-b)
@@ -168,31 +201,11 @@ task wakeup tracing (used with \-b)
.B \\-W, \-\-wakeuprt
rt-task wakeup tracing (used with \-b)
.TP
-.B \\-y, \-\-policy=NAME
-set the scheduler policy of the measurement threads
-where NAME is one of: other, normal, batch, idle, fifo, rr
-.TP
-.B \\-M, \-\-refresh_on_max
-delay updating the screen until a new max latency is hit (useful for
-running cyclictest on low-bandwidth connections)
-.TP
-.B \\-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
-.TP
-.B \\-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.
-.TP
-.B \\-\-smi
-Enable SMI count/detection on processors with SMI count support.
+.B \-\-dbg_cyclictest
+Print info userful for debugging cyclictest
.SH SEE ALSO
+.BR numa (3),
.BR numactl (8),
.\" .br
.\" The programs are documented fully by
@@ -203,3 +216,5 @@ cyclictest was written by Thomas Gleixner <tglx@linuxtronix.de>.
.PP
This manual page was written by Alessio Igor Bogani <abogani@texware.it>,
for the Debian project (but may be used by others).
+.br
+Updated by John Kacur <jkacur@redhat.com>
diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c
index 158bced..00e5f3d 100644
--- a/src/cyclictest/cyclictest.c
+++ b/src/cyclictest/cyclictest.c
@@ -489,7 +489,12 @@ static void tracemark(char *fmt, ...)
va_start(ap, fmt);
len = vsnprintf(tracebuf, TRACEBUFSIZ, fmt, ap);
va_end(ap);
+
+ /* write the tracemark message */
write(tracemark_fd, tracebuf, len);
+
+ /* now stop any trace */
+ write(trace_fd, "0\n", 2);
}
@@ -535,13 +540,28 @@ static void open_tracemark_fd(void)
{
char path[MAX_PATH];
- if (tracemark_fd >= 0)
- return;
+ /*
+ * open the tracemark file if it's not already open
+ */
+ if (tracemark_fd < 0) {
+ sprintf(path, "%s/%s", fileprefix, "trace_marker");
+ tracemark_fd = open(path, O_WRONLY);
+ if (tracemark_fd < 0) {
+ warn("unable to open trace_marker file: %s\n", path);
+ return;
+ }
+ }
- sprintf(path, "%s/%s", fileprefix, "trace_marker");
- tracemark_fd = open(path, O_WRONLY);
- if (tracemark_fd < 0)
- warn("unable to open trace_marker file: %s\n", path);
+ /*
+ * if we're not tracing and the tracing_on fd is not open,
+ * open the tracing_on file so that we can stop the trace
+ * if we hit a breaktrace threshold
+ */
+ if (notrace && trace_fd < 0) {
+ sprintf(path, "%s/%s", fileprefix, "tracing_on");
+ if ((trace_fd = open(path, O_WRONLY)) < 0)
+ warn("unable to open tracing_on file: %s\n", path);
+ }
}
static void debugfs_prepare(void)
@@ -1276,17 +1296,16 @@ static void display_help(int error)
" 0 = CLOCK_MONOTONIC (default)\n"
" 1 = CLOCK_REALTIME\n"
"-C --context context switch tracing (used with -b)\n"
- "-d DIST --distance=DIST distance of thread intervals in us default=500\n"
- "-D --duration=t specify a length for the test run\n"
- " default is in seconds, but 'm', 'h', or 'd' maybe added\n"
- " to modify value to minutes, hours or days\n"
+ "-d DIST --distance=DIST distance of thread intervals in us, default=500\n"
+ "-D --duration=TIME specify a length for the test run.\n"
+ " Append 'm', 'h', or 'd' to specify minutes, hours or days.\n"
" --latency=PM_QOS write PM_QOS to /dev/cpu_dma_latency\n"
"-E --event event tracing (used with -b)\n"
"-f --ftrace function trace (when -b is active)\n"
"-F --fifo=<path> create a named pipe at path and write stats to it\n"
"-h --histogram=US dump a latency histogram to stdout after the run\n"
- " (with same priority about many threads)\n"
- " US is the max time to be be tracked in microseconds\n"
+ " US is the max latency time to be be tracked in microseconds\n"
+ " This option runs all threads at the same priority.\n"
"-H --histofall=US same as -h except with an additional summary column\n"
" --histfile=<path> dump the latency histogram to <path> instead of stdout\n"
"-i INTV --interval=INTV base interval of thread in us default=1000\n"
@@ -1296,7 +1315,8 @@ static void display_help(int error)
" This will give you poorer realtime results\n"
" but will not drain your battery so quickly\n"
"-m --mlockall lock current and future memory allocations\n"
- "-M --refresh_on_max delay updating the screen until a new max latency is hit\n"
+ "-M --refresh_on_max delay updating the screen until a new max\n"
+ " latency is hit. Userful for low bandwidth.\n"
"-n --nanosleep use clock_nanosleep\n"
" --notrace suppress tracing\n"
"-N --nsecs print results in ns instead of us (default us)\n"
@@ -1304,20 +1324,23 @@ static void display_help(int error)
"-O TOPT --traceopt=TOPT trace option\n"
"-p PRIO --priority=PRIO priority of highest prio thread\n"
"-P --preemptoff Preempt off tracing (used with -b)\n"
- "-q --quiet print only a summary on exit\n"
- " --priospread spread priority levels starting at specified value\n"
+ " --policy=NAME policy of measurement thread, where NAME may be one\n"
+ " of: other, normal, batch, idle, fifo or rr.\n"
+ " --priospread spread priority levels starting at specified value\n"
+ "-q --quiet print a summary only on exit\n"
"-r --relative use relative timer instead of absolute\n"
"-R --resolution check clock resolution, calling clock_gettime() many\n"
- " times. list of clock_gettime() values will be\n"
+ " times. List of clock_gettime() values will be\n"
" reported with -X\n"
- " --secaligned [USEC] align thread wakeups to the next full second,\n"
+ " --secaligned [USEC] align thread wakeups to the next full second\n"
" and apply the optional offset\n"
"-s --system use sys_nanosleep and sys_setitimer\n"
"-S --smp Standard SMP testing: options -a -t -n and\n"
" same priority of all threads\n"
- " --spike=trigger record all spikes > trigger\n"
- " --spike-nodes these are the number of spikes we can record\n"
- " the default is 1024 if not specified\n"
+ " --spike=<trigger> record all spikes > trigger\n"
+ " --spike-nodes=[num of nodes]\n"
+ " These are the maximum number of spikes we can record.\n"
+ " The default is 1024 if not specified\n"
#ifdef ARCH_HAS_SMI_COUNTER
" --smi Enable SMI counting\n"
#endif
@@ -1337,9 +1360,7 @@ static void display_help(int error)
" format: n:c:v n=tasknum c=count v=value in us\n"
"-w --wakeup task wakeup tracing (used with -b)\n"
"-W --wakeuprt rt task wakeup tracing (used with -b)\n"
- " --dbg_cyclictest print info useful for debugging cyclictest\n"
- " --policy=POLI policy of realtime thread, POLI may be fifo(default) or rr\n"
- " format: --policy=fifo(default) or --policy=rr\n",
+ " --dbg_cyclictest print info useful for debugging cyclictest\n",
tracers
);
if (error)
diff --git a/src/hwlatdetect/hwlat.txt b/src/hwlatdetect/hwlat.txt
index 11dc067..4ac79d0 100644
--- a/src/hwlatdetect/hwlat.txt
+++ b/src/hwlatdetect/hwlat.txt
@@ -45,7 +45,7 @@ latency_threshold_us - minimum latency value to be considered (usecs)
max_sample_us - maximum SMI latency spike observed (usecs)
ms_between_samples - interval between samples (ms)
ms_per_sample - sampling time (ms)
-sample_us - last sample (usecs). Continously updated, may be used
+sample_us - last sample (usecs). continuously updated, may be used
to plot graphs or to create histograms
smi_count - how many latency spikes have been observed
@@ -76,7 +76,7 @@ samples during 5ms every 50ms:
# cat ms_per_sample
5
-After a while, data may be verified to atest the existence of SMI induced
+After a while, data may be verified to test the existence of SMI induced
latencies:
# cat smi_count
@@ -88,19 +88,19 @@ latencies:
Depending on the latencies observed it is important to better adjust the
sampling intervals to obtain more accurate measurements. Care must be taken
-to not create a continous sampling situation, that might be perceived by the
+to not create a continuous sampling situation, that might be perceived by the
kernel as a deadlock.
Python Script
-------------
A python script is provided in in the kernel scripts directory named
-'smidetect'. This script handles mounting/unmounting the debugfs,
+'hwlatdetect'. This script handles mounting/unmounting the debugfs,
loading/unloading the hwlat module, setting various parameters
for the SMI detector and then starting and stopping the detection. The
-smidetect script handles the following arguments:
+hwlatdetect script handles the following arguments:
-Usage: smidetect [options]
+Usage: hwlatdetect [options]
Options:
-h, --help show this help message and exit
@@ -114,12 +114,13 @@ Options:
--cleanup force unload of module and umount of debugfs
--debug turn on debugging prints
--quiet turn off all screen output
+ --watch print sample data to stdout as it arrives
An example run looks like this:
- $ sudo scripts/smidetect --duration=1m --report=smi.txt
- smidetect: test duration 60 seconds
+ $ sudo hwlatdetect --duration=1m --report=smi.txt
+ hwlatdetect: test duration 60 seconds
parameters:
Latency threshold: 100us
Non-sampling gap: 5ms
diff --git a/src/hwlatdetect/hwlatdetect.8 b/src/hwlatdetect/hwlatdetect.8
index 2904e5f..645fb7d 100644
--- a/src/hwlatdetect/hwlatdetect.8
+++ b/src/hwlatdetect/hwlatdetect.8
@@ -18,13 +18,13 @@ hwlatdetect \- program to control the kernel hardware latency detection module
.B hwlatdetect
.RI "[ \-\-duration=<time> ] [\-\-threshold=<usecs> ] \
[\-\-window=<time interval> ] [\-\-width=<time interval> ] [\-\-report=<path> ] \
-[\-\-cleanup ] [\-\-debug ] [\-\-quiet ]
+[\-\-cleanup ] [\-\-debug ] [\-\-quiet ] [--watch]
.\" .SH DESCRIPTION
.\" This manual page documents briefly the
.\" .B hwlatdetect commands.
.\" .PP
-.\" \fI<whatever>\fP escape sequences to invode bold face and italics, respectively.
+.\" \fI<whatever>\fP escape sequences to invoke bold face and italics, respectively.
.\" \fBhwlatdetect\fP is a program that...
.SH DESCRIPTION
\fBhwlatdetect\fP is a program that controls the kernel hardware
@@ -38,7 +38,7 @@ written for use by the "RT" patch since the Real Time kernel is highly
latency sensitive.
SMIs are usually not serviced by the Linux kernel, which typically does not
-even know that they are occuring. SMIs are instead are set up by BIOS code
+even know that they are occurring. SMIs are instead are set up by BIOS code
and are serviced by BIOS code, usually for "critical" events such as
management of thermal sensors and fans. Sometimes though, SMIs are used for
other tasks and those tasks can spend an inordinate amount of time in the
@@ -68,7 +68,7 @@ optional suffix may be specified to indicate minutes, hours or days.
.TP
.B \-\-threshold=<microsecond value>
Specify the TSC gap used to detect an SMI. Any gap value greater than
-<theshold> is considered to be the result of an SMI occuring.
+<threshold> is considered to be the result of an SMI occurring.
.TP
.B \-\-window=<time value>{us,ms,s,m,d}
@@ -92,6 +92,10 @@ Turn on debug prints
.TP
.B \-\-quiet
Turn off all information prints
+.TP
+.B \-\-watch
+print sample data to stdout as it arrives
+
.\" .SH SEE ALSO
.\" .BR bar (1),
.\" .BR baz (1).
diff --git a/src/pi_tests/pi_stress.8 b/src/pi_tests/pi_stress.8
index 4fecab5..c92b4bd 100644
--- a/src/pi_tests/pi_stress.8
+++ b/src/pi_tests/pi_stress.8
@@ -38,7 +38,7 @@ code paths for POSIX mutexes, in both the Linux kernel and the C
library. It runs as a realtime-priority task and launches
.IR "inversion machine"
thread groups. Each inversion group causes a
-.IR "priorty inversion"
+.IR "priority inversion"
condition that will deadlock if
.IR "priority inheritance"
doesn't work.
diff --git a/src/pmqtest/pmqtest.8 b/src/pmqtest/pmqtest.8
index 6e97198..05421e0 100644
--- a/src/pmqtest/pmqtest.8
+++ b/src/pmqtest/pmqtest.8
@@ -12,7 +12,7 @@ The program \fBpmqtest\fR starts pairs of threads that are synchronized via mq_s
.SH "OPTIONS"
.TP
.B \-a, \-\-affinity[=PROC]
-Run on procesor number PROC. If PROC is not specified, run on current processor.
+Run on processor number PROC. If PROC is not specified, run on current processor.
.TP
.B \-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.
@@ -37,7 +37,7 @@ Set the priority of the process.
Test mode for symmetric multi-processing, implies -a and -t and uses the same priority on all threads.
.TP
.B \-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.
+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 specified, NUM is set to the number of available CPUs.
.TP
.B \-T, \-\-timeout=TO
Use mq_timedreceive() instead of mq_receive() and specify timeout TO in seconds.
diff --git a/src/ptsematest/ptsematest.8 b/src/ptsematest/ptsematest.8
index 001e809..9d83533 100644
--- a/src/ptsematest/ptsematest.8
+++ b/src/ptsematest/ptsematest.8
@@ -12,14 +12,14 @@ The program \fBptsematest\fR starts two threads that are synchronized via pthrea
.SH "OPTIONS"
.TP
.B \-a, \-\-affinity[=PROC]
-Run on procesor number PROC. If PROC is not specified, run on current processor.
+Run on processor number PROC. If PROC is not specified, run on current processor.
.TP
.B \-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.
.TP
.B \-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
+Set the distance of thread intervals in microseconds (default is 500 us). 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
.TP
.B \-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.
@@ -31,7 +31,7 @@ Set the number of loops. The default is 0 (endless). This option is useful for a
Set the priority of the process.
.TP
.B \-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.
+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 specified, NUM is set to the number of available CPUs.
.SH "EXAMPLES"
The following example was running on a 4-way processor:
.LP
diff --git a/src/rt-migrate-test/rt-migrate-test.8 b/src/rt-migrate-test/rt-migrate-test.8
new file mode 100644
index 0000000..8af50e5
--- /dev/null
+++ b/src/rt-migrate-test/rt-migrate-test.8
@@ -0,0 +1,56 @@
+.\"
+.TH RT-MIGRATE-TEST 8 "April 21, 2016"
+.\" Please adjust this date whenever editing this manpage
+.SH NAME
+rt-migrate-test \- real-time task migration program
+.SH SYNOPSIS
+.B rt-migrate-test
+.RI "[\-ceh] [\-p prio] [\-r time] [\-s time] [\-m time] [\-l loops] [nr_tasks]
+.SH DESCRIPTION
+Test real-time multiprocessor scheduling of tasks to ensure the highest priority tasks are running on all available CPUs
+.SH OPTIONS
+This program follows the usual GNU command line syntax, with long options starting with two dashes ('\-\-').
+.br
+.TP
+In the summary of options, a value in brackets (), indicates a default value
+.br
+.TP
+.B \-p, \-\-prio=prio
+base priority to start RT tasks with (2)
+.br
+.TP
+.B \-r, \-\-run\-time=time
+Run time (ms) to busy loop the threads (20)
+.br
+.TP
+.B \-s, \-\-sleep\-time=time
+Sleep time (ms) between intervals (100)
+.br
+.TP
+.B \-m, \-\-maxerr=time
+Max allowed error (microsecs)
+.br
+.TP
+.B \-l \-\-loops=loops
+Number of iterations to run (50)
+.br
+.TP
+.B \-e
+Use equal prio for #CPU-1 tasks (requires > 2 CPUS)
+.br
+.TP
+.B \-c, \-\-check
+Stop if lower prio task is quicker than higher (off)
+.br
+.TP
+.B \-h, \-\-help
+Display usage
+.br
+.TP
+.B [nr\-tasks]
+number of tasks to run (number of cpus + 1)
+.br
+.SH AUTHOR
+rt-migrate-test was written by Steven Rostedt <srostedt@redhat.com>
+.TP
+This manual page was written by John Kacur <jkacur@redhat.com>
diff --git a/src/signaltest/signaltest.8 b/src/signaltest/signaltest.8
index d6c11c2..634d392 100644
--- a/src/signaltest/signaltest.8
+++ b/src/signaltest/signaltest.8
@@ -11,7 +11,7 @@ These programs follow the usual GNU command line syntax, with long options
starting with two dashes ('\-\-').
.TP
.B \-b, \-\-breaktrace=USEC
-Send break trace command whn latency > USEC
+Send break trace command when latency > USEC
.TP
.B \-l, \-\-loops=LOOPS
Number of loops: default=0 (endless)
diff --git a/src/sigwaittest/sigwaittest.8 b/src/sigwaittest/sigwaittest.8
index 89a97f1..2290ca2 100644
--- a/src/sigwaittest/sigwaittest.8
+++ b/src/sigwaittest/sigwaittest.8
@@ -8,18 +8,18 @@ sigwaittest [-a|-a PROC] [-b USEC] [-d DIST] [-f] [-i INTV] [-l loops] [-p PRIO]
.br
.SH "DESCRIPTION"
.LP
-The program \fBsigwaittest\fR 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().
+The program \fBsigwaittest\fR starts two threads or, optionally, forks two processes that are synchronized via signals and measures the latency between sending a signal and returning from sigwait().
.SH "OPTIONS"
.TP
.B \-a, \-\-affinity[=PROC]
-Run on procesor number PROC. If PROC is not specified, run on current processor.
+Run on processor number PROC. If PROC is not specified, run on current processor.
.TP
.B \-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.
.TP
.B \-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
+Set the distance of thread intervals in microseconds (default is 500 us). 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
.TP
.B \-f, \-\-fork
Instead of creating threads (which is the default), fork new processes
@@ -34,7 +34,7 @@ Set the number of loops. The default is 0 (endless). This option is useful for a
Set the priority of the process.
.TP
.B \-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.
+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 specified, NUM is set to the number of available CPUs.
.SH "EXAMPLES"
The following example was running on a 4-way CPU:
.LP
diff --git a/src/svsematest/svsematest.8 b/src/svsematest/svsematest.8
index 93b163e..0d4eaf3 100644
--- a/src/svsematest/svsematest.8
+++ b/src/svsematest/svsematest.8
@@ -12,14 +12,14 @@ The program \fBsvsematest\fR starts two threads or, optionally, forks two proces
.SH "OPTIONS"
.TP
.B \-a, \-\-affinity[=PROC]
-Run on procesor number PROC. If PROC is not specified, run on current processor.
+Run on processor number PROC. If PROC is not specified, run on current processor.
.TP
.B \-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.
.TP
.B \-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
+Set the distance of thread intervals in microseconds (default is 500 us). 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
.TP
.B \-f, \-\-fork
Instead of creating threads (which is the default), fork new processes
@@ -34,7 +34,7 @@ Set the number of loops. The default is 0 (endless). This option is useful for a
Set the priority of the process.
.TP
.B \-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.
+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 specified, NUM is set to the number of available CPUs.
.SH "EXAMPLES"
The following example was running on a 4-way CPU:
.LP