Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp319386ybz; Fri, 24 Apr 2020 00:39:37 -0700 (PDT) X-Google-Smtp-Source: APiQypJS9wyPWBNjd4EpcGz/+8A04X6uLZsfhv22ngE2IxMC0vHheQhD5eQ1BSeJnQnC5jdTkYDT X-Received: by 2002:a17:906:5608:: with SMTP id f8mr6205301ejq.190.1587713977548; Fri, 24 Apr 2020 00:39:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587713977; cv=none; d=google.com; s=arc-20160816; b=QG3iV6moVEJTJfJDWDZKexpRAhBvMt1sIMuMiTjBa9va2105ifSe3p9KhEiXofAS13 9o7nYOwq6nKs09jqi0se88lxMuRvcN09t5tK2tZi4LyLR1tC22tqzC19JfWy0BtNl+cZ nk5zIcSr5QyPeIEw+csdgwij60/lvW/FJrYYKmF7Ecjrkhnbs+Z0QpzlvLgjULlFgI6f 1N5Hqx+vGv5npzASBsGaVjJKdcWtjtFLR0LmAHcza+eKZBMu6X0EXwLHxFVlLaA6LO6G lEHNP8rVi+cujYsB5ouUkZzmtFGLjkElGxbtqT4D3GSKkyzA1u0aXQnw+QsV5bECDSzd 0HWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=oLztsNgz+yDmFwrJSEWxjw2PGBak7jDN9usH+ekj5oQ=; b=sjd94iFF3FHZ+hQ0CTP0TIrIdjc044FA7E5X9qjg4AWkajz6VsZMmJNWt4sob754vy kOoRbA/edIXwMnnQgnAR0J7BYH2H3wizAz6sIFdYjhwRtjcgTmeJr5kAH5DZ0405MEYW +jx4PXjYcY60bAhOp+VO4Eklwkpcf1ekxRRx0PzdzZSrboNXBaCaz5D8Ccje0UGYGR12 nEJDgYV8VHaOr/qJxm9LyiFzfAqqqCeagVfs423gy46CiQ9H6jpijrz4mxEcKzIuzdwR h11gac3OvVrMULJWqMTstUZMy10fbb4/znpBEYVaK7BXvFk2VAKzYsKAMoc4QF8//kj3 CuOQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vG3Tba0L; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v28si2516431edx.335.2020.04.24.00.39.13; Fri, 24 Apr 2020 00:39:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=vG3Tba0L; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726317AbgDXHhr (ORCPT + 99 others); Fri, 24 Apr 2020 03:37:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34718 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726008AbgDXHhq (ORCPT ); Fri, 24 Apr 2020 03:37:46 -0400 Received: from mail-lj1-x241.google.com (mail-lj1-x241.google.com [IPv6:2a00:1450:4864:20::241]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B5BE3C09B045 for ; Fri, 24 Apr 2020 00:37:44 -0700 (PDT) Received: by mail-lj1-x241.google.com with SMTP id u6so8907299ljl.6 for ; Fri, 24 Apr 2020 00:37:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=oLztsNgz+yDmFwrJSEWxjw2PGBak7jDN9usH+ekj5oQ=; b=vG3Tba0LZyMh1SR/tCXrhESk2NYX8j3gCf/tTrJvvfw9Tv8zrwPYauH7OwrG/6B5nX pqNUIGvdLw6lePetGwZO/9fdPZCJ46bYZqJexwgiVTb+Mr6J4sZrCehygMwtebZTZ4qF JbDVgMnmOnWBNNiHP3vKxPwgxYC8+uD9qS8eIQCRX03OHb7mYMHRC7IgLhArGgjFjtny vC8aBP/ndPKxDycTkssEc0ZX8n5Kgbrsu5ae5B5TXUtxBWveybp/nTXO3enGuExa96M9 gaD3WYFL1Uv3D2OSUiXINBQdophS00rc/GI8EP6TD3djGQa/AW4CsivoaBx9Iuc7Cdpv rSbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=oLztsNgz+yDmFwrJSEWxjw2PGBak7jDN9usH+ekj5oQ=; b=UgZS+fjWmb84amhBhNhIPRYgHqL3qI0pzgY7pWiWKuOUP7QHuVYF/aXocXwPKViu4a 51uugmtx70AJQBodJNSqvbsChvTyxfTY+RLvlhZPwntAE7/SSUzwRUSoi2ttHAnSkt1C PEQx5/A8UR89qyDcTDj1OUWR3wh+UUAtgVgOdxrL6bEtMPFN/qmUoXwBeifcjOTzVt7C LQ+rwtYZ79tO3BWsZ0oYs1uktAffcBNKbP8ezSq3vcgBhYntpPZ/5RQQlJSpSF/HdMwl 0Td9erMWTLX0zZ13bR7JGUOixpV21N2VH9C0HV/6jnoXzpAcn6gRTvvRR1SlJrHaiqBd SVLA== X-Gm-Message-State: AGi0PuaWMyyfCqBjRpV8QmTF2DSQENCYqWzguaeArMAKndix4jwl93JF I9ZGQCO2dr/JieLbVPsCd60aoipt+IB2qSIV/Mt15w== X-Received: by 2002:a05:651c:319:: with SMTP id a25mr4734191ljp.209.1587713862987; Fri, 24 Apr 2020 00:37:42 -0700 (PDT) MIME-Version: 1.0 References: <20200422151401.9147-1-vincent.guittot@linaro.org> <20200423192930.GY2483@worktop.programming.kicks-ass.net> In-Reply-To: <20200423192930.GY2483@worktop.programming.kicks-ass.net> From: Vincent Guittot Date: Fri, 24 Apr 2020 09:37:31 +0200 Message-ID: Subject: Re: [PATCH] sched/pelt: sync util/runnable_sum with PELT window when propagating To: Peter Zijlstra Cc: Ingo Molnar , Juri Lelli , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , linux-kernel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 23 Apr 2020 at 21:29, Peter Zijlstra wrote: > > On Wed, Apr 22, 2020 at 05:14:01PM +0200, Vincent Guittot wrote: > > update_tg_cfs_util/runnable() propagate the impact of the attach/detach of > > an entity down into the cfs_rq hierarchy which must keep the sync with > > the current pelt window. > > > > Even if we can't sync child rq and its group se, we can sync the group se > > and parent cfs_rq with current PELT window. In fact, we must keep them sync > > in order to stay also synced with others se and group se that are already > > attached to the cfs_rq. > > > > Signed-off-by: Vincent Guittot > > --- > > kernel/sched/fair.c | 26 ++++++-------------------- > > 1 file changed, 6 insertions(+), 20 deletions(-) > > > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > > index 02f323b85b6d..ca6aa89c88f2 100644 > > --- a/kernel/sched/fair.c > > +++ b/kernel/sched/fair.c > > @@ -3441,52 +3441,38 @@ static inline void > > update_tg_cfs_util(struct cfs_rq *cfs_rq, struct sched_entity *se, struct cfs_rq *gcfs_rq) > > { > > long delta = gcfs_rq->avg.util_avg - se->avg.util_avg; > > + u32 divider = LOAD_AVG_MAX - 1024 + cfs_rq->avg.period_contrib; > > > > /* Nothing to update */ > > if (!delta) > > return; > > > > - /* > > - * The relation between sum and avg is: > > - * > > - * LOAD_AVG_MAX - 1024 + sa->period_contrib > > - * > > - * however, the PELT windows are not aligned between grq and gse. > > - */ > > Instead of deleting this, could we perhaps extend it? In fact, this is not the only place in fair.c that uses this rule to align _avg and _sum but others don't have any special comment. I can add a more detailed description of this relation for ___update_load_avg() in pelt.c and make a ref to this in all places in fair.c that use this rule which are : - update_tg_cfs_util - update_tg_cfs_runnable - update_cfs_rq_load_avg - attach_entity_load_avg - reweight_entity