The following commit has been merged into the sched/fifo branch of tip:

Commit-ID:     8b700983de82f79e05b2c1136d6513ea4c9b22c4
Gitweb:        
https://git.kernel.org/tip/8b700983de82f79e05b2c1136d6513ea4c9b22c4
Author:        Peter Zijlstra <pet...@infradead.org>
AuthorDate:    Wed, 22 Apr 2020 13:10:04 +02:00
Committer:     Peter Zijlstra <pet...@infradead.org>
CommitterDate: Mon, 15 Jun 2020 14:10:26 +02:00

sched: Remove sched_set_*() return value

Ingo suggested that since the new sched_set_*() functions are
implemented using the 'nocheck' variants, they really shouldn't ever
fail, so remove the return value.

Cc: ax...@kernel.dk
Cc: daniel.lezc...@linaro.org
Cc: sudeep.ho...@arm.com
Cc: airl...@redhat.com
Cc: broo...@kernel.org
Cc: paul...@kernel.org
Suggested-by: Ingo Molnar <mi...@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <pet...@infradead.org>
Reviewed-by: Ingo Molnar <mi...@kernel.org>
---
 drivers/block/drbd/drbd_receiver.c    |  4 +---
 drivers/firmware/psci/psci_checker.c  |  3 +--
 drivers/gpu/drm/msm/msm_drv.c         |  5 +----
 drivers/platform/chrome/cros_ec_spi.c |  7 +++----
 include/linux/sched.h                 |  6 +++---
 kernel/rcu/rcutorture.c               |  5 +----
 kernel/sched/core.c                   | 12 ++++++------
 7 files changed, 16 insertions(+), 26 deletions(-)

diff --git a/drivers/block/drbd/drbd_receiver.c 
b/drivers/block/drbd/drbd_receiver.c
index 140fd98..280615e 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -6020,9 +6020,7 @@ int drbd_ack_receiver(struct drbd_thread *thi)
        int expect   = header_size;
        bool ping_timeout_active = false;
 
-       rv = sched_set_fifo_low(current);
-       if (rv < 0)
-               drbd_err(connection, "drbd_ack_receiver: ERROR set priority, 
ret=%d\n", rv);
+       sched_set_fifo_low(current);
 
        while (get_t_state(thi) == RUNNING) {
                drbd_thread_current_set_cpu(thi);
diff --git a/drivers/firmware/psci/psci_checker.c 
b/drivers/firmware/psci/psci_checker.c
index a5279a4..6fff482 100644
--- a/drivers/firmware/psci/psci_checker.c
+++ b/drivers/firmware/psci/psci_checker.c
@@ -281,8 +281,7 @@ static int suspend_test_thread(void *arg)
        wait_for_completion(&suspend_threads_started);
 
        /* Set maximum priority to preempt all other threads on this CPU. */
-       if (sched_set_fifo(current))
-               pr_warn("Failed to set suspend thread scheduler on CPU %d\n", 
cpu);
+       sched_set_fifo(current);
 
        dev = this_cpu_read(cpuidle_devices);
        drv = cpuidle_get_cpu_driver(dev);
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index 89a8b9c..556cca3 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -509,10 +509,7 @@ static int msm_drm_init(struct device *dev, struct 
drm_driver *drv)
                        goto err_msm_uninit;
                }
 
-               ret = sched_set_fifo(priv->event_thread[i].thread);
-               if (ret)
-                       dev_warn(dev, "event_thread set priority failed:%d\n",
-                                ret);
+               sched_set_fifo(priv->event_thread[i].thread);
        }
 
        ret = drm_vblank_init(ddev, priv->num_crtcs);
diff --git a/drivers/platform/chrome/cros_ec_spi.c 
b/drivers/platform/chrome/cros_ec_spi.c
index c20a43a..d092603 100644
--- a/drivers/platform/chrome/cros_ec_spi.c
+++ b/drivers/platform/chrome/cros_ec_spi.c
@@ -725,10 +725,9 @@ static int cros_ec_spi_devm_high_pri_alloc(struct device 
*dev,
        if (err)
                return err;
 
-       err = sched_set_fifo(ec_spi->high_pri_worker->task);
-       if (err)
-               dev_err(dev, "Can't set cros_ec high pri priority: %d\n", err);
-       return err;
+       sched_set_fifo(ec_spi->high_pri_worker->task);
+
+       return 0;
 }
 
 static int cros_ec_spi_probe(struct spi_device *spi)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index b792b8f..ae76644 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1653,9 +1653,9 @@ extern int idle_cpu(int cpu);
 extern int available_idle_cpu(int cpu);
 extern int sched_setscheduler(struct task_struct *, int, const struct 
sched_param *);
 extern int sched_setscheduler_nocheck(struct task_struct *, int, const struct 
sched_param *);
-extern int sched_set_fifo(struct task_struct *p);
-extern int sched_set_fifo_low(struct task_struct *p);
-extern int sched_set_normal(struct task_struct *p, int nice);
+extern void sched_set_fifo(struct task_struct *p);
+extern void sched_set_fifo_low(struct task_struct *p);
+extern void sched_set_normal(struct task_struct *p, int nice);
 extern int sched_setattr(struct task_struct *, const struct sched_attr *);
 extern int sched_setattr_nocheck(struct task_struct *, const struct sched_attr 
*);
 extern struct task_struct *idle_task(int cpu);
diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
index bbc3c8a..b4c1146 100644
--- a/kernel/rcu/rcutorture.c
+++ b/kernel/rcu/rcutorture.c
@@ -893,10 +893,7 @@ static int rcu_torture_boost(void *arg)
        VERBOSE_TOROUT_STRING("rcu_torture_boost started");
 
        /* Set real-time priority. */
-       if (sched_set_fifo_low(current) < 0) {
-               VERBOSE_TOROUT_STRING("rcu_torture_boost RT prio failed!");
-               n_rcu_torture_boost_rterror++;
-       }
+       sched_set_fifo_low(current);
 
        init_rcu_head_on_stack(&rbi.rcu);
        /* Each pass through the following loop does one boost-test cycle. */
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index f882d3d..41d3778 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -5183,30 +5183,30 @@ int sched_setscheduler_nocheck(struct task_struct *p, 
int policy,
  * The administrator _MUST_ configure the system, the kernel simply doesn't
  * know enough information to make a sensible choice.
  */
-int sched_set_fifo(struct task_struct *p)
+void sched_set_fifo(struct task_struct *p)
 {
        struct sched_param sp = { .sched_priority = MAX_RT_PRIO / 2 };
-       return sched_setscheduler_nocheck(p, SCHED_FIFO, &sp);
+       WARN_ON_ONCE(sched_setscheduler_nocheck(p, SCHED_FIFO, &sp) != 0);
 }
 EXPORT_SYMBOL_GPL(sched_set_fifo);
 
 /*
  * For when you don't much care about FIFO, but want to be above SCHED_NORMAL.
  */
-int sched_set_fifo_low(struct task_struct *p)
+void sched_set_fifo_low(struct task_struct *p)
 {
        struct sched_param sp = { .sched_priority = 1 };
-       return sched_setscheduler_nocheck(p, SCHED_FIFO, &sp);
+       WARN_ON_ONCE(sched_setscheduler_nocheck(p, SCHED_FIFO, &sp) != 0);
 }
 EXPORT_SYMBOL_GPL(sched_set_fifo_low);
 
-int sched_set_normal(struct task_struct *p, int nice)
+void sched_set_normal(struct task_struct *p, int nice)
 {
        struct sched_attr attr = {
                .sched_policy = SCHED_NORMAL,
                .sched_nice = nice,
        };
-       return sched_setattr_nocheck(p, &attr);
+       WARN_ON_ONCE(sched_setattr_nocheck(p, &attr) != 0);
 }
 EXPORT_SYMBOL_GPL(sched_set_normal);
 

Reply via email to