From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754067AbdBHJ1c (ORCPT ); Wed, 8 Feb 2017 04:27:32 -0500 Received: from mout.gmx.net ([212.227.15.19]:55304 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753934AbdBHJ1O (ORCPT ); Wed, 8 Feb 2017 04:27:14 -0500 Message-ID: <1486545588.8841.6.camel@gmx.de> Subject: Re: [RFC,v2 3/3] sched: ignore task_h_load for CPU_NEWLY_IDLE From: Mike Galbraith To: Uladzislau Rezki , Ingo Molnar Cc: LKML , Peter Zijlstra , Uladzislau 2 Rezki Date: Wed, 08 Feb 2017 10:19:48 +0100 In-Reply-To: <1486543409-11493-3-git-send-email-urezki@gmail.com> References: <1486543409-11493-1-git-send-email-urezki@gmail.com> <1486543409-11493-3-git-send-email-urezki@gmail.com> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.16.5 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:IoEr2RrsM1DFml5znNSxLIq0ctVrLd3C1wshCTtmAdWb6MP1xDR H1/flGp8CtHHD8tiyHkWbYVm0ETPICVutxkEy1RE7ykbpOE19B+/pwidlk165jb++OOW/ip jFLgRPXro9YMRWilIIrjocxebd/RLu4oFmcNJKOV19lDTH7y6zPsMOkEvzBOb3elAQoFrDQ e/y+SlDDN5mskgyZSK+LQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:4P/pa8fxDuQ=:4TMrEXhjkuaLpl3z8zDVcz DYCpy6B1lUtt1vsRlmcIMdZ0N/bPT7VQsgYh5y74+O9gSWII5r/+zmUAzAZXX6co4Bdu625mK L7iWKt9RFH0Irhn7b1o7B16hIn4agWoSG2FLjzVfQ4c0NAwLl5BfVdCaqNibA15RfzbnCz1+D vtK4T32Fa4zM8DlhXarA17VpcNCG1O+YiCzER+14sBy5JwnXR3+au/xzE8+qm4J6HC9uYUjnD hUQum4/XdPZho4xcYhFhdRcOlozX1E0eUzlfq17Q2Gs6kBSmRe6LlSFB1mCO+56mWScJQziyM xeOaEH5d6tlk4ky+N+P1fHc28x2ALdO6HDs4+TGL6SXMqjdtGT+kKIexwMHPYCHp4J6IfxqHZ jfeMwEWs3XqIC7eL7Afw9uwJTzwrsh1Eu2yvXL/CfNjsUHayqx1qURUgX1gDxRKXvqC6k+HGR 5G8rnf5wk/L71dt1SOrRkt3PF5xbpfe7HdUi8sZQc9eEPdsTQ1UJTpc5Fbge5JV4Rl2Wt3dn5 wCU1FdU6jnveeBmtMXHb7IYKuzmIKT8uS/WV7pPq/84IMc3lPhXR/djnCWJ5yUQcOYf9kcc+A tD5Ccov9JWdkHQJOu61A4+eD0fLZdxFlKlRt4ePQ8eu8kM1WXrnI3lpO/egPSknRGS6BaV6af UxWvKNvQlq0b5r5ZP4xAlhdWuLEf5SDL6HOSkeIGqUBHwPQJjhafeF8QSYqblpSFQvvZyHFKK 95VcDTuWf8YaTNKOuigNWu+0dqFjJmG4KqxnbRhqZgftm8Jp0wTS76j+eJ+zdXCHQqGZ4sDj0 W2aaQQv Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2017-02-08 at 09:43 +0100, Uladzislau Rezki wrote: > From: Uladzislau 2 Rezki > > A load balancer calculates imbalance factor for particular shed ^sched > domain and tries to steal up the prescribed amount of weighted load. > However, a small imbalance factor would sometimes prevent us from > stealing any tasks at all. When a CPU is newly idle, it should > steal first task which passes a migration criteria. s/passes a/meets the > > Signed-off-by: Uladzislau 2 Rezki > --- > kernel/sched/fair.c | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 232ef3c..29e0d7f 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > > > env->loop++; > @@ -6824,8 +6832,9 @@ static int detach_tasks(struct lb_env *env) > > > > if (sched_feat(LB_MIN) && load < 16 && !env->sd->nr_balance_failed) > > > > > goto next; > > -> > > if ((load / 2) > env->imbalance) > -> > > > goto next; > +> > > if (env->idle != CPU_NEWLY_IDLE) > +> > > > if ((load / 2) > env->imbalance) > +> > > > > goto next; Those two ifs could be one ala if (foo && bar).