Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752104AbcLENf7 (ORCPT ); Mon, 5 Dec 2016 08:35:59 -0500 Received: from mail-wj0-f169.google.com ([209.85.210.169]:32851 "EHLO mail-wj0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750998AbcLENfz (ORCPT ); Mon, 5 Dec 2016 08:35:55 -0500 Date: Mon, 5 Dec 2016 13:35:46 +0000 From: Matt Fleming To: Vincent Guittot Cc: Brendan Gregg , Peter Zijlstra , Ingo Molnar , LKML , Morten.Rasmussen@arm.com, dietmar.eggemann@arm.com, kernellwp@gmail.com, yuyang.du@intel.com, umgwanakikbuti@gmail.com, Mel Gorman Subject: Re: [PATCH 2/2 v2] sched: use load_avg for selecting idlest group Message-ID: <20161205133546.GN20785@codeblueprint.co.uk> References: <1480088073-11642-1-git-send-email-vincent.guittot@linaro.org> <1480088073-11642-3-git-send-email-vincent.guittot@linaro.org> <20161203214707.GI20785@codeblueprint.co.uk> <20161205092735.GA9161@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161205092735.GA9161@linaro.org> User-Agent: Mutt/1.5.24+41 (02bc14ed1569) (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1084 Lines: 31 On Mon, 05 Dec, at 10:27:36AM, Vincent Guittot wrote: > > Hi Matt, > > Thanks for the results. > > During the review, it has been pointed out by Morten that the test condition > (100*this_avg_load < imbalance_scale*min_avg_load) makes more sense than > (100*min_avg_load > imbalance_scale*this_avg_load). But i see lower > performances with this change. Coud you run tests with the change below on > top of the patchset ? > > --- > kernel/sched/fair.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index e8d1ae7..0129fbb 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -5514,7 +5514,7 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p, > if (!idlest || > (min_runnable_load > (this_runnable_load + imbalance)) || > ((this_runnable_load < (min_runnable_load + imbalance)) && > - (100*min_avg_load > imbalance_scale*this_avg_load))) > + (100*this_avg_load < imbalance_scale*min_avg_load))) > return NULL; > return idlest; > } Queued for testing.