Messages in this thread | | | From | "Rafael J. Wysocki" <> | Date | Wed, 9 May 2018 10:05:09 +0200 | Subject | Re: [RFC PATCH] sched/cpufreq/schedutil: handling urgent frequency requests |
| |
On Wed, May 9, 2018 at 9:01 AM, Joel Fernandes <joel@joelfernandes.org> 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?
| |