On Fri, Feb 12, 2016 at 5:01 PM, Rafael J. Wysocki <raf...@kernel.org> wrote: > On Fri, Feb 12, 2016 at 3:10 PM, Peter Zijlstra <pet...@infradead.org> wrote: >> On Thu, Feb 11, 2016 at 10:52:20AM -0800, Steve Muckle 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. >> >> Possible yes, but why do we care? Such a CPU would be so much idle that >> cpufreq doesn't matter one way or another, right? > > Well, in theory you can get 50% or so of the time active in bursts > that happen to fit between ticks. If we happen to do those in the > lowest P-state, we may burn more energy than necessary on platforms > where more idle is preferred.
At least intel_pstate should be able to figure out which P-state to use then on the APERF/MPERF basis.