[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c3f71479-d280-94ad-ab20-5098e599526a@xs4all.nl>
Date: Wed, 7 Aug 2019 11:26:33 +0200
From: Hans Verkuil <hverkuil@...all.nl>
To: Peter Zijlstra <peterz@...radead.org>,
Andy Walls <andy@...verblocksystems.net>
Cc: mingo@...nel.org, linux-kernel@...r.kernel.org,
Andy Walls <awalls@...metrocast.net>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
linux-media@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH 4/5] media/ivtv: Reduce default FIFO priority
On 8/2/19 10:58 AM, Peter Zijlstra wrote:
> On Thu, Aug 01, 2019 at 02:38:06PM +0200, Peter Zijlstra wrote:
>> If the consumer of the data are RT tasks as well (I hadn't expected that
>> from a TV capture device) then I'd propose to use FIFO-50 as default.
>>
>> The thing is, the moment you're doing actual proper RT, the admin needs
>> to configure things anyway, which then very much includes setting the
>> priority of interrupt threads and the like.
>>
>> (that is exacty why pretty much everything defaults to FIFO-50)
>
> Is the below acceptible?
I think this should be OK. ivtv is real-time sensitive since certain
tasks have to happen within (if I remember correctly) 1/60th of a second
(the time it takes to capture a single video field). Data is lost if it
can't be done within that time.
Using FIFO-50 means that it competes with other irq threads, and since
irq threads shouldn't take up much time anyway this should be OK.
Andy, what do you think?
Regards,
Hans
>
> ---
> Subject: media/ivtv: Reduce default FIFO priority
> From: Peter Zijlstra <peterz@...radead.org>
> Date: Thu Aug 1 12:56:40 CEST 2019
>
> The ivtv driver creates a FIFO-99 thread by default, reduce this to
> FIFO-50.
>
> FIFO-99 is the very highest priority available to SCHED_FIFO and
> it not a suitable default; it would indicate the ivtv work is the
> most important work on the machine.
>
> Cc: Andy Walls <awalls@...metrocast.net>
> Cc: Mauro Carvalho Chehab <mchehab@...nel.org>
> Cc: linux-media@...r.kernel.org
> Cc: linux-kernel@...r.kernel.org
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
> ---
> drivers/media/pci/ivtv/ivtv-driver.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/drivers/media/pci/ivtv/ivtv-driver.c
> +++ b/drivers/media/pci/ivtv/ivtv-driver.c
> @@ -738,7 +738,7 @@ static void ivtv_process_options(struct
> */
> static int ivtv_init_struct1(struct ivtv *itv)
> {
> - struct sched_param param = { .sched_priority = 99 };
> + struct sched_param param = { .sched_priority = MAX_RT_PRIO / 2 };
>
> itv->base_addr = pci_resource_start(itv->pdev, 0);
> itv->enc_mbox.max_mbox = 2; /* the encoder has 3 mailboxes (0-2) */
>
Powered by blists - more mailing lists