1pi_stress(8)          Linux System Administrator's Manual         pi_stress(8)
2
3
4

NAME

6       pi_stress - a stress test for POSIX Priority Inheritance mutexes
7

SYNOPSIS

9       pi_stress  [-d|--debug] [-D|--duration [-g|--groups N] [-i|--inversions
10       INV]  [--json  FILENAME]  [-m|--mlockall]  [-p|--prompt]   [-q|--quiet]
11       [-r|--rr]    [-s|--sched   OPTS]   [-u|--uniprocessor]   [-v|--verbose]
12       [-V|--version]
13

DESCRIPTION

15       pi_stress is a program used to  stress  the  priority-inheritance  code
16       paths for POSIX mutexes, in both the Linux kernel and the C library. It
17       runs as a realtime-priority task and launches inversion machine  thread
18       groups. Each inversion group causes a priority inversion condition that
19       will deadlock if priority inheritance doesn't work.
20
21

OPTIONS

23       -d|--debug
24              Run in debug mode; lots of extra prints
25
26       -D TIME, --duration=TIME
27              Specify a length for the test run.
28              Append 'm', 'h', or 'd' to specify minutes, hours or days.
29
30       -g N|--groups=N
31              The number of inversion groups to run. Defaults to 10.
32
33       -h|--help
34              Display a short help message and options.
35
36       -i N|--inversions=N
37              N number of inversion conditions. This is the  total  number  of
38              inversions for all inversion groups. Default is -1 for infinite.
39
40       --json=FILENAME
41              Write final results into FILENAME , JSON formatted.
42
43       -m|--mlockall
44              Call  mlockall to lock current and future memory allocations and
45              prevent being paged out
46
47       -p|--prompt
48              Prompt before actually starting the stress test
49
50       -q|--quiet
51              Suppress running output
52
53       -r|--rr
54              Run inversion group threads as SCHED_RR (round-robin).  The  de‐
55              fault is to run the inversion threads as SCHED_FIFO.
56
57       -s OPTS|--sched OPTS
58              scheduling options per thread type:
59              id=[high|med|low],
60              policy=[fifo,rr],priority=N,
61              policy=deadline,runtime=N,deadline=N,period=N
62
63       -u|--uniprocessor
64              Run  all threads on one processor. The default is to run all in‐
65              version group threads on one processor  and  the  admin  threads
66              (reporting thread, keyboard reader, etc.) on a different proces‐
67              sor.
68
69       -v|--verbose
70              Run with verbose messages
71
72       -V|--version
73              Print version number
74

CAVEATS

76       The pi_stress test threads run as SCHED_FIFO or SCHED_RR threads, which
77       means  that they can starve critical system threads. It is advisable to
78       change  the  scheduling  policy  of  critical  system  threads  to   be
79       SCHED_FIFO  prior  to  running  pi_stress  and  use a priority of 10 or
80       higher, to prevent those threads from being starved by the stress test.
81

BUGS

83       No documented bugs.
84

AUTHOR

86       Clark Williams <williams@redhat.com>
87
88
89
90                                 Nov 27, 2006                     pi_stress(8)
Impressum