Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp558274pxu; Thu, 15 Oct 2020 10:27:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxY2x1aOdv7DD2GUGASwlgugD8xLoFrXNcvJi75L8PIPY9lE6sj753S7jou3JahYrz2L80J X-Received: by 2002:a17:906:3397:: with SMTP id v23mr5495926eja.212.1602782871033; Thu, 15 Oct 2020 10:27:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602782871; cv=none; d=google.com; s=arc-20160816; b=p3taZ9AX9N3PY+xcyZ6J5rakfFGUdWO6P19m1pJykapxkRMuzFxIRwwp1S+QgXXkN4 kmZprJqHYmLAHxpnzkk41u7HVjI5rETYeJrLIyroTyTJVCJWSlOlSXuQvt70F9ot8wbk HxKdZVaRMtWfiubiajyTX4TVMzVvWCas2TJxIl1nx1wOENX1neIuTdrnQVm2/w2CJgJR sxbsNDT4Nyia6Au9Kv0ZKpv4QnL6MORtQj/iWT7D8p+wNPesK8akiuk5wgrBNJ73FVe5 WIOVQEgmNsWbm811qjHe1GHZbcde4LXmctg3YdF4sK1vaM9TYiaL2VHxKgaTsxbzkNeS BOTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=gbDBjzfoSjYWcdFm7/OVUlPfbPckb1RRkf5R/cahnAo=; b=Ns3eXJMQC9RLQzes33PZ2ANQRU9QKza1SvTfsndSjynfz4RYj2Pp5qD0mD3Q5ssodV +91x2olxvE904wPDb+VjRQdEglVM2oMXJJF7ZsXLjpeNLjX7h0YRKKOfIvbpX3mTGAV2 1dQKNnKx/V1AO8k77AACD1hjzIMeuBkkbD7CFwglSANvXtRLe0+MViNPERb7O8gfxQoW 41mxG/O+4lzOnZuSDG34lXDlleuyL45m88wi17xC8PopLksvlqWCjjLyEIR9NAlxLJMp jUW6SuColbV0IChaUUWFw8wSJs53HfLXnr4bq9nRys5AvVg8KAeVMprmQ5wZNlizED55 s5Kw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="c/REDy8W"; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u19si2448871eds.502.2020.10.15.10.27.12; Thu, 15 Oct 2020 10:27:51 -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=@gmail.com header.s=20161025 header.b="c/REDy8W"; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726439AbgJOGHT (ORCPT + 99 others); Thu, 15 Oct 2020 02:07:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35902 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726053AbgJOGHT (ORCPT ); Thu, 15 Oct 2020 02:07:19 -0400 Received: from mail-io1-xd42.google.com (mail-io1-xd42.google.com [IPv6:2607:f8b0:4864:20::d42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DF144C061755 for ; Wed, 14 Oct 2020 23:07:18 -0700 (PDT) Received: by mail-io1-xd42.google.com with SMTP id l8so2832436ioh.11 for ; Wed, 14 Oct 2020 23:07:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=gbDBjzfoSjYWcdFm7/OVUlPfbPckb1RRkf5R/cahnAo=; b=c/REDy8Wy+AgNbzLGLeWhbXSFuiyp0skQ+WxDIeQLskE83dYzmMTZF2ezUVBE84/4N hG5G4m5OON7XmxIbl6jRGt/9mQ2mJXi7GtO2iCSORVNwUoU3MHWVo+QyBtTJAO7LwXC+ Zn8Y5G8C094yR9GgvbjHL5ko12QDw0wuf7iWS9urkhVFapvgovTzwF94OeqoNnUY0iB6 4lfUEHSXeC3+ax7YnWWI26/gRXh091UkFetTXcOHHsHo/SFtUF+gRDFFPSrIS1/1Ajfq p1jm3fJDDOXxsyz04zYuDE3h832ATs9jXj7SYHajcKhta0jLIaTKsdQbIyIiTrQ54J8U zBKg== 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=gbDBjzfoSjYWcdFm7/OVUlPfbPckb1RRkf5R/cahnAo=; b=AH+cCD3K/X9sSErnhOqzoGpKswbjC9XKiRyDLIbVpKYkUk3jpKpEmqfR9LN8dzMjWq Kg26ythJZazo7NQjeh2Uv6+CmPVFAV21dGaCSNeDyuIUAA42hI6EfTNsav4aOLGcfFqH lC6lHhHcuwYOONrRVqlKqPKZX0IU23xecsM+CyQOEsRoO3cVqwm0FO0mAZuiBrlh/9aP iExeZ6lCafa3w/fTZ1O+CIgmcvL/n47JcyMGTOXhEUY2yfrX4pzOcIfW6bV6Rg9IHrWt P/gUEawSTDmQZUgac9TCw3Eu/+T236b7rGbTcu9kpOC5OVMY/JJ+6PR/1bIYCcWjyihf B2kw== X-Gm-Message-State: AOAM532uDaLk3VVPjj+vhMnLmH8k50pB1EGZEV4URIpgX4uuOjZK1UPk thCBK1tzUg/vD+bpxgWoAHtpJmA30dVmEQwPw1E= X-Received: by 2002:a02:ccac:: with SMTP id t12mr2234843jap.109.1602742038156; Wed, 14 Oct 2020 23:07:18 -0700 (PDT) MIME-Version: 1.0 References: <20201009092530.223-1-qianjun.kernel@gmail.com> <20201014131910.GG2628@hirez.programming.kicks-ass.net> In-Reply-To: <20201014131910.GG2628@hirez.programming.kicks-ass.net> From: Yafang Shao Date: Thu, 15 Oct 2020 14:06:42 +0800 Message-ID: Subject: Re: [PATCH 1/1] Sched/fair: Improve the accuracy of sched_stat_wait statistics To: Peter Zijlstra Cc: jun qian , Ingo Molnar , juri.lelli@redhat.com, Vincent Guittot , LKML Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 14, 2020 at 9:19 PM Peter Zijlstra wrote: > > On Fri, Oct 09, 2020 at 05:25:30PM +0800, qianjun.kernel@gmail.com wrote: > > From: jun qian > > > > When the sched_schedstat changes from 0 to 1, some sched se maybe > > already in the runqueue, the se->statistics.wait_start will be 0. > > So it will let the (rq_of(cfs_rq)) - se->statistics.wait_start) > > wrong. We need to avoid this scenario. > > > > Signed-off-by: jun qian > > Signed-off-by: Yafang Shao > > This SoB chain isn't valid. Did Yafang's tag need to a reviewed-by or > something? > This patch improves the behavior when sched_schedstat is changed from 0 to 1, so it looks good to me. Reviewed-by: Yafang Shao > > --- > > kernel/sched/fair.c | 9 +++++++++ > > 1 file changed, 9 insertions(+) > > > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > > index 1a68a05..6f8ca0c 100644 > > --- a/kernel/sched/fair.c > > +++ b/kernel/sched/fair.c > > @@ -906,6 +906,15 @@ static void update_curr_fair(struct rq *rq) > > if (!schedstat_enabled()) > > return; > > > > + /* > > + * When the sched_schedstat changes from 0 to 1, some sched se > > + * maybe already in the runqueue, the se->statistics.wait_start > > + * will be 0.So it will let the delta wrong. We need to avoid this > > + * scenario. > > + */ > > + if (unlikely(!schedstat_val(se->statistics.wait_start))) > > + return; > > + > > delta = rq_clock(rq_of(cfs_rq)) - schedstat_val(se->statistics.wait_start); > > > > if (entity_is_task(se)) { > > -- > > 1.8.3.1 > > -- Thanks Yafang