Re: [RFC PATCH] sched/cpufreq/schedutil: handling urgent frequency requests

From: Juri Lelli
Date: Wed May 09 2018 - 04:24:35 EST


On 09/05/18 10:05, Rafael J. Wysocki wrote:
> On Wed, May 9, 2018 at 9:01 AM, Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> wrote:
> > On Wed, May 09, 2018 at 12:24:49PM +0530, Viresh Kumar wrote:
> >> On 09-05-18, 08:45, Juri Lelli wrote:
> >> > On 08/05/18 21:54, Joel Fernandes wrote:
> >> > Isn't this potentially introducing unneeded irq pressure (and doing the
> >> > whole wakeup the kthread thing), while the already active kthread could
> >> > simply handle multiple back-to-back requests before going to sleep?
> >>
> >> And then we may need more instances of the work item and need to store
> >> a different value of next_freq with each work item, as we can't use
> >> the common one anymore as there would be races around accessing it ?
> >
> > Exactly. I think it also doesn't make sense to over write an already
> > committed request either so better to store them separate (?). After the
> > "commit", that previous request is done..
>
> Why is it?
>
> In the non-fast-switch case the "commit" only means queuing up an
> irq_work. Which BTW is one of the reasons for having work_in_progress
> even if your kthread can handle multiple work items in one go.
>
> You may try to clear work_in_progress in sugov_irq_work() instead of
> in sugov_work(), though.
>
> BTW, I'm not sure if the comment in sugov_irq_work() still applies. Juri?

It doesn't anymore. sugov kthreads are now being "ignored". Should have
remove it with the DL set of changes, sorry about that.