Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp21486183ybl; Mon, 6 Jan 2020 05:36:24 -0800 (PST) X-Google-Smtp-Source: APXvYqzuqhgtdsXnRmz9yqjYQhy77tcf2qc+JNhxJQi45hgsSntyRlDx8VwNQDc0SWBKYHIbyfPX X-Received: by 2002:a9d:c02:: with SMTP id 2mr118508275otr.183.1578317784018; Mon, 06 Jan 2020 05:36:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578317784; cv=none; d=google.com; s=arc-20160816; b=G+Y2d+/NuMji8TarvHZNPxRSEAxeH5EmtuA9ijlC9UheaJYZ7GgcLdfK22L1nuQU+e dQS69IUrCNiY9ovgUzP7RMxP24XhOOnqTGHWCkQlUJuBoxiQrdaql1qNkeT7z6p8B5qL Avt2Pswrg/yXBIY6sQMXZalf/jfrv3BuP0VnDuaALDDPitvis1NehLQPKRXKCLIRBs4W AziK0q/kuYFjZ7aB0ih5GX2qPveBiWLCMTjRVMzy3KMM+ywwB5i+3IG253a24SpQ946U ugLpXSt49WSzz54IIRdvra1pRAW6JJ3x2myCSNU/C5Nx/3GbBJJPf/zg9H/JcCZUq66W AEVw== 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=TLggzgyJvV8TKTUDxbBA+R5G99qoCIFvbA/nYC43k14=; b=R+KXT9lu0dams3tnrd0eD3ooq3z+4mvzCzm8Eu4OS+8PSkAM4ap4Lq8/uuB5huDJ91 +JFWUs0fQRM9TpQOhVGe18/xIN7sRVQY19Cqb0GYs9TYhrSN2hIaJrAf1opa6PcYgh9R Y+HaFlfN/0oGmOj2MN65Ippzvt4Co/0EzC2/SESkq3iqp9hiG7v5nj7J8KOaTqev1RKp toZf7KVy9MLnF66igG8IOj5JCeX44C/yRMz1rT6+6CsQY4bFw+OojaChbTr1rzj0gVRt kEePkmjPGdOKFTd8UL+4rzvC0lXLwu/6EZpdYE37NRbpjzuNHkKSbgmUB1Uh+SoYS7B7 a/oA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=kXX9odmX; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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. [209.132.180.67]) by mx.google.com with ESMTP id k1si32305932oic.245.2020.01.06.05.36.11; Mon, 06 Jan 2020 05:36:24 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=kXX9odmX; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S1726508AbgAFNem (ORCPT + 99 others); Mon, 6 Jan 2020 08:34:42 -0500 Received: from mail-lf1-f65.google.com ([209.85.167.65]:44450 "EHLO mail-lf1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726340AbgAFNel (ORCPT ); Mon, 6 Jan 2020 08:34:41 -0500 Received: by mail-lf1-f65.google.com with SMTP id v201so36339799lfa.11 for ; Mon, 06 Jan 2020 05:34:40 -0800 (PST) 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=TLggzgyJvV8TKTUDxbBA+R5G99qoCIFvbA/nYC43k14=; b=kXX9odmXZ7Bfd26kMx1l7PNs1AjQYHabeFTwq1RoncVrG102dEWFBvgYKjkv/LjTBw XBxpYysBUWn5Q/oCxrskYzJ/k32D9Q6CBRgAjWeogx57z6oRpLxygOoHuFutfAsUZ+lz dXQUKPgwFvuegsPuZhcaFvYSHP81qmHMpNXv0a+1CcHPeeuSUimWPFpuixcKlxptk3Fz TzoA063cWRAnhzAgm32IiB9UGZ0J/ZN15Kq3CXC+/8asLo+ncbp2p7C7AkL94LlNi0b6 H2hrML0F+d2tZEH6vsCIPydkFQjM7TQj2WxrPn92Oaih4WIAMLoAtGH/sMidHncFeZzJ OA/g== 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=TLggzgyJvV8TKTUDxbBA+R5G99qoCIFvbA/nYC43k14=; b=Nuak11MPxxNYHpLonzj6ye3f9U6Xj1iY0RQYPpAoPNBCou7zgGrve0ViLvMBvYUn29 GS50uRdSVBtssPme+BZyR789EBLTjA/JjzrkKyJtfSxmcM4NHw8EpefwDG846k3Vop88 lzIBkU4GSxuDhleucaMxbE4O9uB5UepMcHfTG3ww/GUdGxZ1le0i3+ozHiMLEGODVEnR Q3HInEUBKfkvqbd0alhs7uONgLD19o+3qus4d5EZvl5nTP06lcUHk7+FXA6kCMEGAtPM cEbnC6TDF8sgtYlpTrF9OVoKPbooJi4wIrcpePTTq6HBYdqg0xv4SYMyQFhXhfxnTeRc IDxQ== X-Gm-Message-State: APjAAAW8ip56rF+QSAJgWobpK/RMXIE37ofpsEp2nlg+ezVbsaJe4iTg WgnHGg2Ch3l1pM6zvdWcGVmCWrO5DWaqMaTYrr83iA== X-Received: by 2002:a19:6b0e:: with SMTP id d14mr55096916lfa.151.1578317679486; Mon, 06 Jan 2020 05:34:39 -0800 (PST) MIME-Version: 1.0 References: <20200103114400.17668-1-rocking@linux.alibaba.com> In-Reply-To: <20200103114400.17668-1-rocking@linux.alibaba.com> From: Vincent Guittot Date: Mon, 6 Jan 2020 14:34:28 +0100 Message-ID: Subject: Re: [PATCH] sched/fair: calculate delta runnable load only when it's needed To: Peng Wang Cc: Ingo Molnar , Peter Zijlstra , 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 Fri, 3 Jan 2020 at 12:45, Peng Wang wrote: > > Move the code of calculation for delta_sum/delta_avg to where Maybe precise that you move delta_sum/delta_avg for runnable_load_sum/avg > it is really needed to be done. > > Signed-off-by: Peng Wang make sense to me Reviewed-by: Vincent Guittot > --- > kernel/sched/fair.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index ba749f579714..6b7e6b528e9b 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -3366,16 +3366,17 @@ update_tg_cfs_runnable(struct cfs_rq *cfs_rq, struct sched_entity *se, struct cf > > runnable_load_sum = (s64)se_runnable(se) * runnable_sum; > runnable_load_avg = div_s64(runnable_load_sum, LOAD_AVG_MAX); > - delta_sum = runnable_load_sum - se_weight(se) * se->avg.runnable_load_sum; > - delta_avg = runnable_load_avg - se->avg.runnable_load_avg; > - > - se->avg.runnable_load_sum = runnable_sum; > - se->avg.runnable_load_avg = runnable_load_avg; > > if (se->on_rq) { > + delta_sum = runnable_load_sum - > + se_weight(se) * se->avg.runnable_load_sum; > + delta_avg = runnable_load_avg - se->avg.runnable_load_avg; > add_positive(&cfs_rq->avg.runnable_load_avg, delta_avg); > add_positive(&cfs_rq->avg.runnable_load_sum, delta_sum); > } > + > + se->avg.runnable_load_sum = runnable_sum; > + se->avg.runnable_load_avg = runnable_load_avg; > } > > static inline void add_tg_cfs_propagate(struct cfs_rq *cfs_rq, long runnable_sum) > -- > 2.24.0 >