sched,spi: Convert to sched_set_fifo*()
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:22 +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.

No effective change.

Cc: broonie@kernel.org
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>
drivers/platform/chrome/cros_ec_spi.c
drivers/spi/spi.c

index debea5c4c82936667c9c35ff5a62f7a099427b53..c20a43a9704062e0649dec83e39b6aceb6549096 100644 (file)
@@ -709,9 +709,6 @@ static void cros_ec_spi_high_pri_release(void *worker)
 static int cros_ec_spi_devm_high_pri_alloc(struct device *dev,
                                           struct cros_ec_spi *ec_spi)
 {
-       struct sched_param sched_priority = {
-               .sched_priority = MAX_RT_PRIO / 2,
-       };
        int err;
 
        ec_spi->high_pri_worker =
@@ -728,8 +725,7 @@ static int cros_ec_spi_devm_high_pri_alloc(struct device *dev,
        if (err)
                return err;
 
-       err = sched_setscheduler_nocheck(ec_spi->high_pri_worker->task,
-                                        SCHED_FIFO, &sched_priority);
+       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;
index 8158e281f35409ebbc19fa0cf04c539b5fd20e76..5a4f0bfce4743aeecfb772aa9acbab23fe22b452 100644 (file)
@@ -1592,11 +1592,9 @@ EXPORT_SYMBOL_GPL(spi_take_timestamp_post);
  */
 static void spi_set_thread_rt(struct spi_controller *ctlr)
 {
-       struct sched_param param = { .sched_priority = MAX_RT_PRIO / 2 };
-
        dev_info(&ctlr->dev,
                "will run message pump with realtime priority\n");
-       sched_setscheduler(ctlr->kworker_task, SCHED_FIFO, &param);
+       sched_set_fifo(ctlr->kworker_task);
 }
 
 static int spi_init_queue(struct spi_controller *ctlr)