torture: Make stutter use torture_hrtimeout_*() functions
authorPaul E. McKenney <paulmck@kernel.org>
Tue, 17 Nov 2020 20:17:42 +0000 (12:17 -0800)
committerPaul E. McKenney <paulmck@kernel.org>
Thu, 7 Jan 2021 01:17:20 +0000 (17:17 -0800)
This commit saves a few lines of code by making the stutter_wait()
and torture_stutter() functions use torture_hrtimeout_jiffies() and
torture_hrtimeout_us().

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/torture.c

index 7548634e8a898dc3d45dee139cc185a4cb35e075..7ad5c9681580732c62401836f3f63c8f4a187e37 100644 (file)
@@ -677,7 +677,6 @@ static int stutter_gap;
  */
 bool stutter_wait(const char *title)
 {
-       ktime_t delay;
        unsigned int i = 0;
        bool ret = false;
        int spt;
@@ -693,11 +692,8 @@ bool stutter_wait(const char *title)
                        schedule_timeout_interruptible(1);
                } else if (spt == 2) {
                        while (READ_ONCE(stutter_pause_test)) {
-                               if (!(i++ & 0xffff)) {
-                                       set_current_state(TASK_INTERRUPTIBLE);
-                                       delay = 10 * NSEC_PER_USEC;
-                                       schedule_hrtimeout(&delay, HRTIMER_MODE_REL);
-                               }
+                               if (!(i++ & 0xffff))
+                                       torture_hrtimeout_us(10, 0, NULL);
                                cond_resched();
                        }
                } else {
@@ -715,7 +711,6 @@ EXPORT_SYMBOL_GPL(stutter_wait);
  */
 static int torture_stutter(void *arg)
 {
-       ktime_t delay;
        DEFINE_TORTURE_RANDOM(rand);
        int wtime;
 
@@ -726,20 +721,15 @@ static int torture_stutter(void *arg)
                        if (stutter > 2) {
                                WRITE_ONCE(stutter_pause_test, 1);
                                wtime = stutter - 3;
-                               delay = ktime_divns(NSEC_PER_SEC * wtime, HZ);
-                               delay += (torture_random(&rand) >> 3) % NSEC_PER_MSEC;
-                               set_current_state(TASK_INTERRUPTIBLE);
-                               schedule_hrtimeout(&delay, HRTIMER_MODE_REL);
+                               torture_hrtimeout_jiffies(wtime, &rand);
                                wtime = 2;
                        }
                        WRITE_ONCE(stutter_pause_test, 2);
-                       delay = ktime_divns(NSEC_PER_SEC * wtime, HZ);
-                       set_current_state(TASK_INTERRUPTIBLE);
-                       schedule_hrtimeout(&delay, HRTIMER_MODE_REL);
+                       torture_hrtimeout_jiffies(wtime, NULL);
                }
                WRITE_ONCE(stutter_pause_test, 0);
                if (!torture_must_stop())
-                       schedule_timeout_interruptible(stutter_gap);
+                       torture_hrtimeout_jiffies(stutter_gap, NULL);
                torture_shutdown_absorb("torture_stutter");
        } while (!torture_must_stop());
        torture_kthread_stopping("torture_stutter");