Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753228Ab3HMIIw (ORCPT ); Tue, 13 Aug 2013 04:08:52 -0400 Received: from mail-qc0-f169.google.com ([209.85.216.169]:38550 "EHLO mail-qc0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750929Ab3HMIIs (ORCPT ); Tue, 13 Aug 2013 04:08:48 -0400 MIME-Version: 1.0 In-Reply-To: <20130813073842.GP27162@twins.programming.kicks-ass.net> References: <20130812144309.GK27162@twins.programming.kicks-ass.net> <20130813073842.GP27162@twins.programming.kicks-ass.net> From: Paul Turner Date: Tue, 13 Aug 2013 01:08:17 -0700 Message-ID: Subject: Re: false nr_running check in load balance? To: Peter Zijlstra Cc: Lei Wen , LKML , Ingo Molnar , Lei Wen Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1143 Lines: 32 On Tue, Aug 13, 2013 at 12:38 AM, Peter Zijlstra wrote: > On Tue, Aug 13, 2013 at 12:45:12PM +0800, Lei Wen wrote: >> > Not quite right; I think you need busiest->cfs.h_nr_running. >> > cfs.nr_running is the number of entries running in this 'group'. If >> > you've got nested groups like: >> > >> > 'root' >> > \ >> > 'A' >> > / \ >> > t1 t2 >> > >> > root.nr_running := 1 'A', even though you've got multiple running tasks. >> > >> >> You're absolutely right for this. :) >> I miss it for not considering the group case... >> >> Then do you think it is necessary to do below change in load_balance() code? >> - if (busiest->nr_running > 1) { >> + if (busiest->cfs.h_nr_running > 1) { >> > > Yes I think that would be fine. If we pivot to use h_nr_running we should probably also update call-sites such as cpu_load_avg_per_task() for consistency. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/