1pi_stress(8) Linux System Administrator's Manual pi_stress(8)
2
3
4
6 pi_stress - a stress test for POSIX Priority Inheritance mutexes
7
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
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
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
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
74 No documented bugs.
75
77 Clark Williams <williams@redhat.com>
78
79
80
81 Nov 27, 2006 pi_stress(8)