From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753835AbeBGL5O (ORCPT ); Wed, 7 Feb 2018 06:57:14 -0500 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:49890 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753497AbeBGL5N (ORCPT ); Wed, 7 Feb 2018 06:57:13 -0500 Date: Wed, 7 Feb 2018 11:57:07 +0000 From: Patrick Bellasi To: Peter Zijlstra Cc: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Ingo Molnar , "Rafael J . Wysocki" , Viresh Kumar , Vincent Guittot , Paul Turner , Dietmar Eggemann , Morten Rasmussen , Juri Lelli , Todd Kjos , Joel Fernandes , Steve Muckle Subject: Re: [PATCH v4 1/3] sched/fair: add util_est on top of PELT Message-ID: <20180207115707.GJ5739@e110439-lin> References: <20180206144131.31233-1-patrick.bellasi@arm.com> <20180206144131.31233-2-patrick.bellasi@arm.com> <20180206155056.GF2269@hirez.programming.kicks-ass.net> <20180206183315.GG5739@e110439-lin> <20180206190900.GN2249@hirez.programming.kicks-ass.net> <20180206191507.GU2295@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180206191507.GU2295@hirez.programming.kicks-ass.net> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06-Feb 20:15, Peter Zijlstra wrote: > On Tue, Feb 06, 2018 at 08:09:00PM +0100, Peter Zijlstra wrote: > > On Tue, Feb 06, 2018 at 06:33:15PM +0000, Patrick Bellasi wrote: > > > > > Good point, I was actually expecting this question and I should have > > > added it to the cover letter, sorry. > > > > > > The reasoning was: the task's estimated utilization is defined as the > > > max between PELT and the "estimation". Where "estimation" is > > > the max between EWMA and the last ENQUEUED utilization. > > > > > > Thus I was envisioning these two calls: > > > > > > _task_util_est := max(EWMA, ENQUEUED) > > > task_util_est := max(util_avg, _task_util_est) > > > > > > but since now we have clients only for the first API, I've not added > > > the second one. Still I would prefer to keep the "_" to make it clear > > > that's and util_est's internal signal, not the actual task's estimated > > > utilization. > > > > > > Does it make sense? > > > > > > Do you prefer I just remove the "_" and we will refactor it once we > > > should add a customer for the proper task's util_est? > > > > Hurm... I was thinking: > > > > task_util_est := max(util_avg, EWMA) > > > > But the above mixes ENQUEUED into it.. *confused*. > > So mixing in ENQUEUED seems to give it an upward BIAS if the very last > activation was 'high'. Thereby improving ramp-up. > > That seems to be what we want.. might be nice to have that in a comment > ;-) Ok, I should have read this one before... to avoid you a longer (boring) response to your previous email :/ > I'm thinking we want a different name for max(EWMA, ENQUEUED) though, > but I really can't come up with a sensible suggestion, which I suppose, > is why you stuck an underscore on it and went on with things. The only sensible way I come up with is to consider that max as a util_est "internals"... while the actual task_util_est() (without "_") should consider util_avg as well, for PELT tracking when a task is becoming bigger the it's previous activations. Is that not reasonable enough? Potentially I can add also the task_util_est() version... but right now we do not have clients... still gcc should not be upset. -- #include Patrick Bellasi