From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756510AbbFPL5R (ORCPT ); Tue, 16 Jun 2015 07:57:17 -0400 Received: from e28smtp04.in.ibm.com ([122.248.162.4]:43627 "EHLO e28smtp04.in.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756360AbbFPL4p (ORCPT ); Tue, 16 Jun 2015 07:56:45 -0400 X-Helo: d28dlp01.in.ibm.com X-MailFrom: srikar@linux.vnet.ibm.com X-RcptTo: linux-kernel@vger.kernel.org From: Srikar Dronamraju To: Ingo Molnar , Peter Zijlstra Cc: linux-kernel@vger.kernel.org, srikar@linux.vnet.ibm.com, Rik van Riel , Mel Gorman Subject: [PATCH v2 2/4] sched:Consider imbalance_pct when comparing loads in numa_has_capacity Date: Tue, 16 Jun 2015 17:26:00 +0530 Message-Id: <1434455762-30857-3-git-send-email-srikar@linux.vnet.ibm.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1434455762-30857-1-git-send-email-srikar@linux.vnet.ibm.com> References: <1434455762-30857-1-git-send-email-srikar@linux.vnet.ibm.com> X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15061611-0013-0000-0000-000005C19685 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is consistent with all other load balancing instances where we absorb unfairness upto env->imbalance_pct. Absorbing unfairness upto env->imbalance_pct allows to pull and retain task to their preferred nodes. Signed-off-by: Srikar Dronamraju --- kernel/sched/fair.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 5ecc43da7..7b23efa 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -1415,8 +1415,9 @@ static bool numa_has_capacity(struct task_numa_env *env) * --------------------- vs --------------------- * src->compute_capacity dst->compute_capacity */ - if (src->load * dst->compute_capacity > - dst->load * src->compute_capacity) + if (src->load * dst->compute_capacity * env->imbalance_pct > + + dst->load * src->compute_capacity * 100) return true; return false; -- 1.8.3.1