Re: [PATCH 09/23] sched,ivtv: Convert to sched_set_fifo*()

From: Steven Rostedt
Date: Wed Apr 22 2020 - 08:53:50 EST


On Wed, 22 Apr 2020 13:27:28 +0200
Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> 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 changes from 99 to 50.

I wonder for the 99 users, we should have a sched_set_high() that would set
the task to something like 75.

That is, above default 50?


-- Steve


>
> Cc: hverkuil@xxxxxxxxx
> Cc: awalls@xxxxxxxxxxxxxxxx
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx>
> ---
> drivers/media/pci/ivtv/ivtv-driver.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> --- a/drivers/media/pci/ivtv/ivtv-driver.c
> +++ b/drivers/media/pci/ivtv/ivtv-driver.c
> @@ -737,8 +737,6 @@ static void ivtv_process_options(struct
> */
> static int ivtv_init_struct1(struct ivtv *itv)
> {
> - struct sched_param param = { .sched_priority = 99 };
> -
> itv->base_addr = pci_resource_start(itv->pdev, 0);
> itv->enc_mbox.max_mbox = 2; /* the encoder has 3 mailboxes (0-2) */
> itv->dec_mbox.max_mbox = 1; /* the decoder has 2 mailboxes (0-1) */
> @@ -758,7 +756,7 @@ static int ivtv_init_struct1(struct ivtv
> return -1;
> }
> /* must use the FIFO scheduler as it is realtime sensitive */
> - sched_setscheduler(itv->irq_worker_task, SCHED_FIFO, &param);
> + sched_set_fifo(itv->irq_worker_task);
>
> kthread_init_work(&itv->irq_work, ivtv_irq_work_handler);
>
>