sched,rcuperf: Convert to sched_set_fifo_low()
authorPeter Zijlstra <peterz@infradead.org>
Tue, 21 Apr 2020 10:09:13 +0000 (12:09 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 15 Jun 2020 12:10:24 +0000 (14:10 +0200)
Because SCHED_FIFO is a broken scheduler model (see previous patches)
take away the priority field, the kernel can't possibly make an
informed decision.

Effectively no change.

Cc: paulmck@kernel.org
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/rcuperf.c

index 16dd1e6b7c09fbd228cf7f745e2fe9308a1754a1..64249a045232e1d7975ebd9558b006feda162c30 100644 (file)
@@ -354,7 +354,6 @@ rcu_perf_writer(void *arg)
        int i_max;
        long me = (long)arg;
        struct rcu_head *rhp = NULL;
-       struct sched_param sp;
        bool started = false, done = false, alldone = false;
        u64 t;
        u64 *wdp;
@@ -363,8 +362,7 @@ rcu_perf_writer(void *arg)
        VERBOSE_PERFOUT_STRING("rcu_perf_writer task started");
        WARN_ON(!wdpp);
        set_cpus_allowed_ptr(current, cpumask_of(me % nr_cpu_ids));
-       sp.sched_priority = 1;
-       sched_setscheduler_nocheck(current, SCHED_FIFO, &sp);
+       sched_set_fifo_low(current);
 
        if (holdoff)
                schedule_timeout_uninterruptible(holdoff * HZ);
@@ -420,9 +418,7 @@ retry:
                        started = true;
                if (!done && i >= MIN_MEAS) {
                        done = true;
-                       sp.sched_priority = 0;
-                       sched_setscheduler_nocheck(current,
-                                                  SCHED_NORMAL, &sp);
+                       sched_set_normal(current, 0);
                        pr_alert("%s%s rcu_perf_writer %ld has %d measurements\n",
                                 perf_type, PERF_FLAG, me, MIN_MEAS);
                        if (atomic_inc_return(&n_rcu_perf_writer_finished) >=