On Thu, Feb 11, 2016 at 8:04 PM, Rafael J. Wysocki <raf...@kernel.org> wrote: > On Thu, Feb 11, 2016 at 7:52 PM, Steve Muckle <steve.muc...@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?
In any case I posted a v9 with those changes (https://patchwork.kernel.org/patch/8290791/). Again, it doesn't appear to break things. If the enqueue hooks are bad (unwanted at all or in wrong places), please let me know. Thanks, Rafael