[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0hNgvd=0dKstXRsbHhtrc6m+ugS5kjPOq2B8k55ioX0MA@mail.gmail.com>
Date: Wed, 9 May 2018 10:05:09 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Joel Fernandes <joel@...lfernandes.org>,
Juri Lelli <juri.lelli@...hat.com>
Cc: Viresh Kumar <viresh.kumar@...aro.org>,
Claudio Scordino <claudio@...dence.eu.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"Rafael J . Wysocki" <rafael.j.wysocki@...el.com>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Patrick Bellasi <patrick.bellasi@....com>,
Luca Abeni <luca.abeni@...tannapisa.it>,
Joel Fernandes <joelaf@...gle.com>,
Linux PM <linux-pm@...r.kernel.org>
Subject: Re: [RFC PATCH] sched/cpufreq/schedutil: handling urgent frequency requests
On Wed, May 9, 2018 at 9:01 AM, Joel Fernandes <joel@...lfernandes.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?
Powered by blists - more mailing lists