Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754820AbcJNNKU (ORCPT ); Fri, 14 Oct 2016 09:10:20 -0400 Received: from foss.arm.com ([217.140.101.70]:37024 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753478AbcJNNKQ (ORCPT ); Fri, 14 Oct 2016 09:10:16 -0400 Subject: Re: [v4.8-rc1 Regression] sched/fair: Apply more PELT fixes To: Vincent Guittot References: <57F7F9AF.2010609@canonical.com> <20161008080019.GE3142@twins.programming.kicks-ass.net> <20161008083936.GA13658@gmail.com> <1475927349.5573.1.camel@gmx.de> <57FE6302.6060103@canonical.com> <57FFADC8.2020602@canonical.com> <43c59cba-2044-1de2-0f78-8f346bd1e3cb@arm.com> Cc: Joseph Salisbury , Ingo Molnar , Peter Zijlstra , Linus Torvalds , Thomas Gleixner , LKML , Mike Galbraith From: Dietmar Eggemann Message-ID: Date: Fri, 14 Oct 2016 14:10:07 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: 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 Content-Length: 1862 Lines: 49 On 14/10/16 09:24, Vincent Guittot wrote: > On 13 October 2016 at 23:34, Vincent Guittot wrote: >> On 13 October 2016 at 20:49, Dietmar Eggemann wrote: >>> On 13/10/16 17:48, Vincent Guittot wrote: >>>> On 13 October 2016 at 17:52, Joseph Salisbury >>>> wrote: >>>>> On 10/13/2016 06:58 AM, Vincent Guittot wrote: >>>>>> Hi, >>>>>> >>>>>> On 12 October 2016 at 18:21, Joseph Salisbury >>>>>> wrote: >>>>>>> On 10/12/2016 08:20 AM, Vincent Guittot wrote: >>>>>>>> On 8 October 2016 at 13:49, Mike Galbraith wrote: >>>>>>>>> On Sat, 2016-10-08 at 13:37 +0200, Vincent Guittot wrote: >>>>>>>>>> On 8 October 2016 at 10:39, Ingo Molnar wrote: >>>>>>>>>>> * Peter Zijlstra wrote: >>>>>>>>>>> >>>>>>>>>>>> On Fri, Oct 07, 2016 at 03:38:23PM -0400, Joseph Salisbury wrote: [...] >>> When I create a tg_root/tg_x/tg_y_1 and a tg_root/tg_x/tg_y_2 group, the tg_x->load_avg >>> becomes > 6*1024 before any tasks ran in it. >> >> This is normal as se->avg.load_avg is initialized to >> scale_load_down(se->load.weight) and this se->avg.load_avg will be >> added to tg_x[cpu]->cfs_rq->avg.load_avg when attached to the cfs_rq Yeah, you right, even when I've created 50 second level groups, tg_x->load_avg is ~6800. Could it have something to do with the fact that .se->load.weight = 2 for all these task groups? on a 64bit system? In case we call __update_load_avg(..., se->on_rq * scale_load_down(se->load.weight), ...) we pass a weight argument of 0 for these se's. Does not happen with: - if (shares < MIN_SHARES) - shares = MIN_SHARES; + if (shares < scale_load(MIN_SHARES)) + shares = scale_load(MIN_SHARES); in calc_cfs_shares(). [...]