Skip to content
  • 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