NAME¶
pi_stress - a stress test for POSIX Priority Inheritance mutexes
SYNOPSIS¶
pi_stress [
-i|--inversions inversions]
[
-t|--duration seconds] [
-g|--groups groups
[
-d|--debug] [
-v|--verbose] [
-s|--signal]
[
-r|--rr] [
-p|--prompt] [
-m|--mlockall]
[
-u|--uniprocessor]
pi_stress -h|--help
DESCRIPTION¶
pi_stress is a program used to stress the
priority-inheritance
code paths for POSIX mutexes, in both the Linux kernel and the C library. It
runs as a realtime-priority task and launches
inversion machine thread
groups. Each inversion group causes a
priorty inversion condition that
will deadlock if
priority inheritance doesn't work.
OPTIONS¶
- -i n|--inversions=n
- Run for n number of inversion conditions. This is the total number
of inversions for all inversion groups. Default is -1 for infinite.
- -t n|--duration=n
- Run the test for n seconds and then terminate.
- -g n|--groups=n
- The number of inversion groups to run. Defaults to 10.
- -d|--debug
- Run in debug mode; lots of extra prints
- -v|--verbose
- Run with verbose messages
- -s|--signal
- Terminate on receipt of SIGTERM (Ctrl-C). Default is to terminate on any
keypress.
- -r|--rr
- Run inversion group threads as SCHED_RR (round-robin). The default is to
run the inversion threads as SCHED_FIFO.
- -p|--prompt
- Prompt before actually starting the stress test
- -u|--uniprocessor
- Run all threads on one processor. The default is to run all inversion
group threads on one processor and the admin threads (reporting thread,
keyboard reader, etc.) on a different processor.
- -m|--mlockall
- Call mlockall to lock current and future memory allocations and prevent
being paged out
- -h|--help
- Display a short help message and options.
CAVEATS¶
The pi_stress test threads run as SCHED_FIFO or SCHED_RR threads, which means
that they can starve critical system threads. It is advisable to change the
scheduling policy of critical system threads to be SCHED_FIFO prior to running
pi_stress and use a priority of 10 or higher, to prevent those threads from
being starved by the stress test.
BUGS¶
No documented bugs.
AUTHOR¶
Clark Williams <williams@redhat.com>