torture: Increase stutter-end intensity
Currently, all stuttered kthreads block a jiffy at a time, which can result in them starting at different times. (Note: This is not an energy-efficiency problem unless you run torture tests in production, in which case you have other problems!) This commit increases the intensity of the restart event by causing kthreads to spin through the last jiffy, restarting when they see the variable change. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
This commit is contained in:
Родитель
fff35c4e9f
Коммит
ab7d45053f
|
@ -533,7 +533,11 @@ void stutter_wait(const char *title)
|
|||
while (ACCESS_ONCE(stutter_pause_test) ||
|
||||
(torture_runnable && !ACCESS_ONCE(*torture_runnable))) {
|
||||
if (stutter_pause_test)
|
||||
schedule_timeout_interruptible(1);
|
||||
if (ACCESS_ONCE(stutter_pause_test) == 1)
|
||||
schedule_timeout_interruptible(1);
|
||||
else
|
||||
while (ACCESS_ONCE(stutter_pause_test))
|
||||
cond_resched();
|
||||
else
|
||||
schedule_timeout_interruptible(round_jiffies_relative(HZ));
|
||||
torture_shutdown_absorb(title);
|
||||
|
@ -550,7 +554,11 @@ static int torture_stutter(void *arg)
|
|||
VERBOSE_TOROUT_STRING("torture_stutter task started");
|
||||
do {
|
||||
if (!torture_must_stop()) {
|
||||
schedule_timeout_interruptible(stutter);
|
||||
if (stutter > 1) {
|
||||
schedule_timeout_interruptible(stutter - 1);
|
||||
ACCESS_ONCE(stutter_pause_test) = 2;
|
||||
}
|
||||
schedule_timeout_interruptible(1);
|
||||
ACCESS_ONCE(stutter_pause_test) = 1;
|
||||
}
|
||||
if (!torture_must_stop())
|
||||
|
|
Загрузка…
Ссылка в новой задаче