[PATCH 07/23] sched,msm: Convert to sched_set_fifo*()

From: Peter Zijlstra
Date: Wed Apr 22 2020 - 07:29:30 EST


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.

Use sched_set_fifo(); Effectively changes prio from 16 to 50.

Cc: airlied@xxxxxxxxxx
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
drivers/gpu/drm/msm/msm_drv.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)

--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -388,7 +388,6 @@ static int msm_drm_init(struct device *d
struct msm_kms *kms;
struct msm_mdss *mdss;
int ret, i;
- struct sched_param param;

ddev = drm_dev_alloc(drv, dev);
if (IS_ERR(ddev)) {
@@ -494,12 +493,6 @@ static int msm_drm_init(struct device *d
ddev->mode_config.funcs = &mode_config_funcs;
ddev->mode_config.helper_private = &mode_config_helper_funcs;

- /**
- * this priority was found during empiric testing to have appropriate
- * realtime scheduling to process display updates and interact with
- * other real time and normal priority task
- */
- param.sched_priority = 16;
for (i = 0; i < priv->num_crtcs; i++) {
/* initialize event thread */
priv->event_thread[i].crtc_id = priv->crtcs[i]->base.id;
@@ -515,8 +508,7 @@ static int msm_drm_init(struct device *d
goto err_msm_uninit;
}

- ret = sched_setscheduler(priv->event_thread[i].thread,
- SCHED_FIFO, &param);
+ ret = sched_set_fifo(priv->event_thread[i].thread);
if (ret)
dev_warn(dev, "event_thread set priority failed:%d\n",
ret);