1. 19 Jun, 2008 1 commit
    • Paul E. McKenney's avatar
      rcu: make rcutorture more vicious: reinstate boot-time testing · 31a72bce
      Paul E. McKenney authored
      This patch re-institutes the ability to build rcutorture directly into
      the Linux kernel.  The reason that this capability was removed was that
      this could result in your kernel being pretty much useless, as rcutorture
      would be running starting from early boot.  This problem has been avoided
      by (1) making rcutorture run only three seconds of every six by default,
      (2) adding a CONFIG_RCU_TORTURE_TEST_RUNNABLE that permits rcutorture
      to be quiesced at boot time, and (3) adding a sysctl in /proc named
      /proc/sys/kernel/rcutorture_runnable that permits rcutorture to be
      quiesced and unquiesced when built into the kernel.
      
      Please note that this /proc file is -not- available when rcutorture
      is built as a module.  Please also note that to get the earlier
      take-no-prisoners behavior, you must use the boot command line to set
      rcutorture's "stutter" parameter to zero.
      
      The rcutorture quiescing mechanism is currently quite crude: loops
      in each rcutorture process that poll a global variable once per tick.
      Suggestions for improvement are welcome.  The default action will
      be to reduce the polling rate to a few times per second.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Suggested-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      31a72bce
  2. 18 Jun, 2008 2 commits
    • Paul E. McKenney's avatar
      rcu: make rcutorture more vicious: add stutter feature · d120f65f
      Paul E. McKenney authored
      This patch takes a step towards making rcutorture more brutal by allowing
      the test to be automatically periodically paused, with the default being
      to run the test for five seconds then pause for five seconds and repeat.
      This behavior can be controlled using a new "stutter" module parameter, so
      that "stutter=0" gives the old default behavior of running continuously.
      
      Starting and stopping rcutorture more heavily stresses RCU's interaction
      with the scheduler, as well as exercising more paths through the
      grace-period detection code.
      
      Note that the default to "shuffle_interval" has also been adjusted from
      5 seconds to 3 seconds to provide varying overlap with the "stutter"
      interval.
      
      I am still unable to provoke the failures that Alexey has been seeing,
      even with this patch, but will be doing a few additional things to beef
      up rcutorture.
      Suggested-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      d120f65f
    • Ingo Molnar's avatar
      rcutorture: WARN_ON_ONCE(1) when detecting an error · 5af970a4
      Ingo Molnar authored
      this makes it easier for automated tests to pick up such failures.
      5af970a4
  3. 16 Jun, 2008 3 commits
  4. 15 Jun, 2008 14 commits
  5. 14 Jun, 2008 1 commit
  6. 13 Jun, 2008 19 commits