Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754161AbcKULsK (ORCPT ); Mon, 21 Nov 2016 06:48:10 -0500 Received: from merlin.infradead.org ([205.233.59.134]:50664 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753521AbcKULsJ (ORCPT ); Mon, 21 Nov 2016 06:48:09 -0500 Date: Mon, 21 Nov 2016 12:48:02 +0100 From: Peter Zijlstra To: Viresh Kumar Cc: Rafael Wysocki , Ingo Molnar , linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Vincent Guittot , Juri Lelli , Robin Randhawa , Steve Muckle , tkjos@google.com, Morten Rasmussen Subject: Re: [PATCH] cpufreq: schedutil: add up/down frequency transition rate limits Message-ID: <20161121114802.GB3092@twins.programming.kicks-ass.net> References: <20161121100805.GB10014@vireshk-i7> <20161121101946.GI3102@twins.programming.kicks-ass.net> <20161121104800.GC10014@vireshk-i7> <20161121111243.GK3102@twins.programming.kicks-ass.net> <20161121113016.GD10014@vireshk-i7> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161121113016.GD10014@vireshk-i7> User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1237 Lines: 24 On Mon, Nov 21, 2016 at 05:00:16PM +0530, Viresh Kumar wrote: > On 21-11-16, 12:12, Peter Zijlstra wrote: > > I think it should be replaced by a value provided by the driver. It > > makes sense to have a rate-limit in so far as that it doesn't make sense > > to try and program the hardware faster than it can actually change > > frequencies and/or have a programming cost amortization. And this very > > clearly is a driver specific thing. > > We already have something called as transition_latency for that (though it isn't > used much currently). > > > It however doesn't make sense to me to fudge with this in order to > > achieve ramp up/down differences. > > So if a platform, for example, can do DVFS in say 100-500 us, then the scheduler > should try to re-evaluate frequency (and update it) after that short of a > period? Wouldn't that scheme waste lots of time doing just freq updates? And > that's the primary reason why cpufreq governors have some sort of sampling-rate > or rate-limit until now. Dunno.. there's of course the cost amortization, but by the time we've reached sugov_should_update_freq() most of the 'expensive' parts have already been done from the scheduler's POV and its once again down to the driver.