Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752900AbdLUKjx (ORCPT ); Thu, 21 Dec 2017 05:39:53 -0500 Received: from merlin.infradead.org ([205.233.59.134]:56130 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751739AbdLUKju (ORCPT ); Thu, 21 Dec 2017 05:39:50 -0500 Date: Thu, 21 Dec 2017 11:39:41 +0100 From: Peter Zijlstra To: Viresh Kumar Cc: Patrick Bellasi , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Ingo Molnar , "Rafael J . Wysocki" , Vincent Guittot , Dietmar Eggemann , Morten Rasmussen , Juri Lelli , Todd Kjos , Joel Fernandes Subject: Re: [PATCH v3 0/6] cpufreq: schedutil: fixes for flags updates Message-ID: <20171221103941.ykehmki7m32r4pyr@hirez.programming.kicks-ass.net> References: <20171130114723.29210-1-patrick.bellasi@arm.com> <20171220153029.dqrtjbyowhqdl56r@hirez.programming.kicks-ass.net> <20171220154358.663yoodeoxkqghx7@hirez.programming.kicks-ass.net> <20171221091502.GE19815@vireshk-i7> <20171221102530.all2hqoyh77mffmf@hirez.programming.kicks-ass.net> <20171221103022.GA8312@vireshk-i7> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171221103022.GA8312@vireshk-i7> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1227 Lines: 38 On Thu, Dec 21, 2017 at 04:00:22PM +0530, Viresh Kumar wrote: > On 21-12-17, 11:25, Peter Zijlstra wrote: > > On Thu, Dec 21, 2017 at 02:45:02PM +0530, Viresh Kumar wrote: > > > On 20-12-17, 16:43, Peter Zijlstra wrote: > > > > The below makes more sense to me too; hmm? > > > > > > > > @@ -335,12 +335,11 @@ static unsigned int sugov_next_freq_shar > > > > > > > > j_max = j_sg_cpu->max; > > > > j_util = sugov_aggregate_util(j_sg_cpu); > > > > + sugov_iowait_boost(j_sg_cpu, &util, &max); > > > > This should 'obviously' have been: > > > > sugov_iowait_boost(j_sg_cpu, &j_util, *j_max); > > Actually it should be: > > sugov_iowait_boost(j_sg_cpu, &j_util, &j_max); Yes, clearly I cannot type much ;-) > and this is how it was in the commit I reviewed from your tree. But my query > still stands, what difference will it make ? > > > > > if (j_util * max > j_max * util) { > > > > util = j_util; > > > > max = j_max; > > > > } > > > > - > > > > - sugov_iowait_boost(j_sg_cpu, &util, &max); > The difference is that we apply the per-cpu boost on the per-cpu util value and _then_ find the overall maximum. Instead of finding the overall maximum and then apply the per-cpu boost to that.