From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758055AbYLKRlk (ORCPT ); Thu, 11 Dec 2008 12:41:40 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1757738AbYLKRkD (ORCPT ); Thu, 11 Dec 2008 12:40:03 -0500 Received: from e28smtp06.in.ibm.com ([59.145.155.6]:51241 "EHLO e28smtp06.in.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757703AbYLKRkA (ORCPT ); Thu, 11 Dec 2008 12:40:00 -0500 From: Vaidyanathan Srinivasan Subject: [RFC PATCH v5 7/7] sched: idle_balance() does not call load_balance_newidle() To: Linux Kernel , Suresh B Siddha , Venkatesh Pallipadi , Peter Zijlstra Cc: Ingo Molnar , Dipankar Sarma , Balbir Singh , Vatsa , Gautham R Shenoy , Andi Kleen , David Collier-Brown , Tim Connors , Max Krasnyansky , Gregory Haskins , Vaidyanathan Srinivasan Date: Thu, 11 Dec 2008 23:13:23 +0530 Message-ID: <20081211174323.2020.97965.stgit@drishya.in.ibm.com> In-Reply-To: <20081211173831.2020.57550.stgit@drishya.in.ibm.com> References: <20081211173831.2020.57550.stgit@drishya.in.ibm.com> User-Agent: StGIT/0.14.2 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org load_balance_newidle() does not get called if SD_BALANCE_NEWIDLE is set at higher level domain (3-CPU) and not in low level domain (2-MC). pulled_task is initialised to -1 and checked for non-zero which is always true if the lowest level sched_domain does not have SD_BALANCE_NEWIDLE flag set. Trivial fix to initialise pulled_task to zero. Signed-off-by: Vaidyanathan Srinivasan --- kernel/sched.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c index d60f191..36500cd 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -3773,7 +3773,7 @@ out_balanced: static void idle_balance(int this_cpu, struct rq *this_rq) { struct sched_domain *sd; - int pulled_task = -1; + int pulled_task = 0; unsigned long next_balance = jiffies + HZ; cpumask_t tmpmask;