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 [-i|--inversions inversions] [-g|--groups groups [-d|--debug]
10       [-v|--verbose]   [-s|--sched   sched_opts]   [-r|--rr]    [-p|--prompt]
11       [-m|--mlockall] [-u|--uniprocessor]
12       pi_stress -h|--help
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       -i n|--inversions=n
24              Run for n number of inversion conditions. This is the total num‐
25              ber of inversions for all inversion groups. Default  is  -1  for
26              infinite.
27
28       -g n|--groups=n
29              The number of inversion groups to run. Defaults to 10.
30
31       -d|--debug
32              Run in debug mode; lots of extra prints
33
34       -D, --duration=TIME
35              Specify a length for the test run.
36              Append 'm', 'h', or 'd' to specify minutes, hours or days.
37
38       -v|--verbose
39              Run with verbose messages
40
41       -r|--rr
42              Run  inversion  group  threads  as  SCHED_RR  (round-robin). The
43              default is to run the inversion threads as SCHED_FIFO.
44
45       -s|--sched
46              scheduling  options  per  thread  type:   id=[high|med|low],pol‐
47              icy=[fifo,rr],priority=<n>,policy=deadline,runtime=<n>,dead‐
48              line=<n>,period=<n>
49
50       -p|--prompt
51              Prompt before actually starting the stress test
52
53       -u|--uniprocessor
54              Run all threads on one processor. The  default  is  to  run  all
55              inversion  group  threads on one processor and the admin threads
56              (reporting thread, keyboard reader, etc.) on a different proces‐
57              sor.
58
59       -m|--mlockall
60              Call  mlockall to lock current and future memory allocations and
61              prevent being paged out
62
63       -h|--help
64              Display a short help message and options.
65

CAVEATS

67       The pi_stress test threads run as SCHED_FIFO or SCHED_RR threads, which
68       means  that they can starve critical system threads. It is advisable to
69       change  the  scheduling  policy  of  critical  system  threads  to   be
70       SCHED_FIFO  prior  to  running  pi_stress  and  use a priority of 10 or
71       higher, to prevent those threads from being starved by the stress test.
72

BUGS

74       No documented bugs.
75

AUTHOR

77       Clark Williams <williams@redhat.com>
78
79
80
81                                 Nov 27, 2006                     pi_stress(8)
Impressum