From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751912AbcBLXOQ (ORCPT ); Fri, 12 Feb 2016 18:14:16 -0500 Received: from mail-lf0-f67.google.com ([209.85.215.67]:35846 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751533AbcBLXOO (ORCPT ); Fri, 12 Feb 2016 18:14:14 -0500 MIME-Version: 1.0 In-Reply-To: References: <3071836.JbNxX8hU6x@vostro.rjw.lan> <56B93548.9090006@linaro.org> <5387313.xAhVpzgZCg@vostro.rjw.lan> <56BA8C29.4090905@linaro.org> <20160211115959.GI6357@twins.programming.kicks-ass.net> <56BCBF7C.2080404@linaro.org> <20160211173033.GP6357@twins.programming.kicks-ass.net> <56BCD864.6030207@linaro.org> <20160212141009.GT6357@twins.programming.kicks-ass.net> Date: Sat, 13 Feb 2016 00:14:12 +0100 X-Google-Sender-Auth: OSe248C2ZHRuXLe0V2kzQ2sE_lI Message-ID: Subject: Re: [PATCH 0/3] cpufreq: Replace timers with utilization update callbacks From: "Rafael J. Wysocki" To: Ashwin Chaugule Cc: "Rafael J. Wysocki" , Peter Zijlstra , Steve Muckle , "Rafael J. Wysocki" , Linux PM list , Linux Kernel Mailing List , Srinivas Pandruvada , Viresh Kumar , Juri Lelli , Thomas Gleixner Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Feb 12, 2016 at 5:53 PM, Ashwin Chaugule wrote: > On 12 February 2016 at 11:15, Rafael J. Wysocki wrote: >> On Fri, Feb 12, 2016 at 5:01 PM, Rafael J. Wysocki wrote: >>> On Fri, Feb 12, 2016 at 3:10 PM, Peter Zijlstra 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