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>
Nov 27, 2006 pi_stress(8)