On Fri, Feb 12, 2016 at 5:53 PM, Ashwin Chaugule <ashwin.chaug...@linaro.org> wrote: > On 12 February 2016 at 11:15, Rafael J. Wysocki <raf...@kernel.org> wrote: >> 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. > > Speaking for the generic case, it would be great to make use of such > feedback counters for selecting the next freq request. Use (num of > cycles used/total cycles) to figure out %ON time for the CPU. I > understand its not the goal for this patch series, but in the future > if we can do this in your callbacks where possible, then I think we > will do better than Ondemand.
Yes, we can do that at least in principle. intel_pstate is a proof of that. Thanks, Rafael