Man Linux: Main Page and Category List


       pi_stress - a stress test for POSIX Priority Inheritance mutexes


       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


       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.


       -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

       -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.

              Run in debug mode; lots of extra prints

              Run with verbose messages

              Terminate   on  receipt  of  SIGTERM  (Ctrl-C).  Default  is  to
              terminate on any keypress.

              Run inversion  group  threads  as  SCHED_RR  (round-robin).  The
              default is to run the inversion threads as SCHED_FIFO.

              Prompt before actually starting the stress test

              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

              Call mlockall to lock current and future memory allocations  and
              prevent being paged out

              Display a short help message and options.


       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.


       No documented bugs.


       Clark Williams <>

                                 Nov 27, 2006                     pi_stress(8)