Messages in this thread | | | Date | Thu, 11 Feb 2016 20:04:54 +0100 | Subject | Re: [PATCH 0/3] cpufreq: Replace timers with utilization update callbacks | From | "Rafael J. Wysocki" <> |
| |
On Thu, Feb 11, 2016 at 7:52 PM, Steve Muckle <steve.muckle@linaro.org> wrote: > On 02/11/2016 09:30 AM, Peter Zijlstra wrote: >>> My concern above is that pokes are guaranteed to keep occurring when >>> > there is only RT or DL activity so nothing breaks. >> >> The hook in their respective tick handler should ensure stuff is called >> sporadically and isn't stalled. > > But that's only true if the RT/DL tasks happen to be running when the > tick arrives right? > > Couldn't we have RT/DL activity which doesn't overlap with the tick? And > if no CFS tasks happen to be executing on that CPU, we'll never trigger > the cpufreq update. This could go on for an arbitrarily long time > depending on the periodicity of the work.
I'm thinking that two additional hooks in enqueue_task_rt/dl() might help here. Then, we will hit either the tick or enqueue and that should do the trick.
Peter, what do you think?
Rafael
| |