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 [-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
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 -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
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
83 No documented bugs.
84
86 Clark Williams <williams@redhat.com>
87
88
89
90 Nov 27, 2006 pi_stress(8)