From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932212AbeEOR0E (ORCPT ); Tue, 15 May 2018 13:26:04 -0400 Received: from foss.arm.com ([217.140.101.70]:36276 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754254AbeEOR0D (ORCPT ); Tue, 15 May 2018 13:26:03 -0400 Date: Tue, 15 May 2018 18:25:58 +0100 From: Patrick Bellasi To: Peter Zijlstra Cc: Vincent Guittot , Joel Fernandes , linux-kernel , "open list:THERMAL" , Ingo Molnar , "Rafael J . Wysocki" , Viresh Kumar , Dietmar Eggemann , Morten Rasmussen , Juri Lelli , Joel Fernandes , Steve Muckle Subject: Re: [PATCH 3/3] sched/fair: schedutil: explicit update only when required Message-ID: <20180515172557.GK30654@e110439-lin> References: <20180510150553.28122-1-patrick.bellasi@arm.com> <20180510150553.28122-4-patrick.bellasi@arm.com> <20180513060443.GB64158@joelaf.mtv.corp.google.com> <20180513062538.GA116730@joelaf.mtv.corp.google.com> <20180514163206.GF30654@e110439-lin> <20180515145343.GJ30654@e110439-lin> <20180515165304.GH12217@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180515165304.GH12217@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 15-May 18:53, Peter Zijlstra wrote: > On Tue, May 15, 2018 at 03:53:43PM +0100, Patrick Bellasi wrote: > > On 15-May 12:19, Vincent Guittot wrote: > > > On 14 May 2018 at 18:32, Patrick Bellasi wrote: > > What about adding a new explicit callback at the end of: > > update_blocked_averages() ? > > > > Something like: > > > > ---8<--- > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > > index cb77407ba485..6eb0f31c656d 100644 > > --- a/kernel/sched/fair.c > > +++ b/kernel/sched/fair.c > > @@ -7740,6 +7740,9 @@ static void update_blocked_averages(int cpu) > > if (done) > > rq->has_blocked_load = 0; > > #endif > > + > > + cpufreq_update_util(rq, SCHED_CPUFREQ_IDLE); > > + > > rq_unlock_irqrestore(rq, &rf); > > } > > ---8<--- > > > > Where we can also pass in a new SCHED_CPUFREQ_IDLE flag just to notify > > schedutil that the CPU is currently IDLE? > > > > Could that work? > > Simlarly you could add ENQUEUE/DEQUEUE flags I suppose. But let's do all > that later in separate patches and evaluate the impact separately, OK? Sure, that's better to keep on a separate patch. For the time being I'll just update this last patch with the above snippet just to have the same behavior we have right now. Then maybe we can also split this last patch into a separate series to better evaluate the ideas to have "explicit" updates. -- #include Patrick Bellasi