Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1812060pxb; Mon, 18 Jan 2021 00:00:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJw3Awv6gt2cv/gpQWj7RjTkjlRtYB5texzSvSlIGb8AYC4oDyAfbxryNAXUtoGVkI7K+kQj X-Received: by 2002:a17:906:fc3:: with SMTP id c3mr17202025ejk.474.1610956829139; Mon, 18 Jan 2021 00:00:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1610956829; cv=none; d=google.com; s=arc-20160816; b=NncOKL4vc80Vor3Zym/fwFs+9j2Ey/Hnzx0u2VNnpgyNKD8WzxuhuiBdAXRgmnDtjO xcP0mhK2X0XcCbocdGByb8WkRh4ARPAqkHhDkfQNEbNLrylQm93HMYnBe96SaYSvIqEf XEif7oB8SCYZT7++QLkEpWg7jeBaCce6h9rCHS4KJoVRZJHwHk2hhff0WWFN76yM64RF p3kVI3j3YyX98sjLGgxLCoqgDicZpC8nW4y2JsoHf+e5dOAMp+REi+fDXiCmnAUoAbPq HwFkKqBi2XHQbZAasNGgQDnx8xEvvkoKazGjUdzIESVEih2d+f6WENJbEj/Z8gfIPZWw +JLg== 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=DPQajUXvtRVcueISbce8TBlixhDeFvW6dba7FCyPUqk=; b=MxXZaAmD00uD6UKeWbdCSPBaSn4KVODcFmG3AFAOWPuInuDJg//4t8JR5Im9T2k7F5 2U0rXNYOX/bDujyfaNkvP5rtH4gJRGpNQqYZgh4WMK0aYwQqaC/RvuYLcUqUoGa/HOgP fiiHgdmcVfmakZNHG5tujSashirphTv60HsI0SdtX8lPEAjiaJV6Q3jMFFfGnDLnlxaC rbz4ZZt5zCEf6QjbpRni0e1yN81CnbR9opLuuRwizgcSbDo7qzizc7OWuF71G0XWlv4U jfAatOb8Kb131sR++Geue+r4wsqIe3i6nLAKPJdD91GymseW9/IfThS7JWoDj98gwWC8 SqgQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jeshrjMJ; 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 bo9si717476edb.435.2021.01.17.23.59.53; Mon, 18 Jan 2021 00:00:29 -0800 (PST) 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=jeshrjMJ; 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 S1733184AbhARH5S (ORCPT + 99 others); Mon, 18 Jan 2021 02:57:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54342 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726139AbhARH5O (ORCPT ); Mon, 18 Jan 2021 02:57:14 -0500 Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com [IPv6:2a00:1450:4864:20::12d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E2984C061573 for ; Sun, 17 Jan 2021 23:56:33 -0800 (PST) Received: by mail-lf1-x12d.google.com with SMTP id h205so22674308lfd.5 for ; Sun, 17 Jan 2021 23:56:33 -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=DPQajUXvtRVcueISbce8TBlixhDeFvW6dba7FCyPUqk=; b=jeshrjMJfFdpJFed5fh5s8gW9N8Xg9ku38gS4AQMW9OQzeBHprch2kf02YZGJHCEGm 4aAlUs77WsiHA+wKE08GjPcYDHpTnXmuuUPcFYpFYnwrDnA+FZ1hG4qi+k127iawZ4yG C8RM1KcCGmgg+6mVwmZs/0+ATVEdtQpkmsPCefGBGyL0bgKPcOFMnaM4hrzN1fAHk+DV TGIDWx4B9WSCZjpLty9ADYGIylOLa04dNQsJ2zXdNc8eN+EnvqNLfEnMzPOG3+nSkFBv QZoXutxXW9A6oSVWp46HXjzlnmqtjomltpj9ttBfRabq2ZlYmnOF02D+4LdLqJtQPBEO kA3w== 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=DPQajUXvtRVcueISbce8TBlixhDeFvW6dba7FCyPUqk=; b=clwsFKKR9HA41XnGgqbGG2tI5qxmZvrn8fhizSssSyGTkfRob3OTHfeMaiIf6gh2Kg c+OQnxIzGsDsjcUZdD9lXfBz2el+2A6Ybh4u/jYLvIjt71M8TnAnbtgL9UhENazWEJXV e9BW6QpL02Q+yFlK8zp+mBKC8wn8zTz4bCuup1m2QhgF8aZCSqiw+QyIhFsZhoAVe9oS gRGSnp0sWAWvc8NmPDzisa4x1IqvPCN/PgheCviGNZGNYXnBh2sfM5o58gyPbykD6UnA Epx9uRYxEcYNZLX++iTU5e3iLaQf5TKVys+uHga2RE0cpj/nvmC+LU6oqBnXTrny+/V2 s5ow== X-Gm-Message-State: AOAM530ReHWQtAx/8+uAnvNbSi5aMEw0vS0qt1JIgYXo7+OHcpk9ceLp wBPd4qUDSoYRjYjNxqpBsOxc8MmWFMNGBmPeuHXOrQ== X-Received: by 2002:a19:7718:: with SMTP id s24mr10982176lfc.277.1610956591818; Sun, 17 Jan 2021 23:56:31 -0800 (PST) MIME-Version: 1.0 References: <20210117123104.27589-1-benbjiang@tencent.com> In-Reply-To: <20210117123104.27589-1-benbjiang@tencent.com> From: Vincent Guittot Date: Mon, 18 Jan 2021 08:56:20 +0100 Message-ID: Subject: Re: [PATCH] sched/fair: add protection for delta of wait time To: Jiang Biao Cc: Ingo Molnar , Peter Zijlstra , Juri Lelli , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Daniel Bristot de Oliveira , linux-kernel , Jiang Biao Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 17 Jan 2021 at 13:31, Jiang Biao wrote: > > From: Jiang Biao > > delta in update_stats_wait_end() might be negative, which would > make following statistics go wrong. Could you describe the use case that generates a negative delta ? rq_clock is always increasing so this should not lead to a negative value even if update_stats_wait_end/start are not called in the right order, This situation could happen after a migration if we forgot to call update_stats_wait_start > > Add protection for delta of wait time, like what have been done in > update_stats_enqueue_sleeper() for deltas of sleep/block time. > > Signed-off-by: Jiang Biao > --- > kernel/sched/fair.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index c0374c1152e0..ac950ac950bc 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -917,6 +917,9 @@ update_stats_wait_end(struct cfs_rq *cfs_rq, struct sched_entity *se) > > delta = rq_clock(rq_of(cfs_rq)) - schedstat_val(se->statistics.wait_start); > > + if ((s64)delta < 0) > + delta = 0; > + > if (entity_is_task(se)) { > p = task_of(se); > if (task_on_rq_migrating(p)) { > -- > 2.21.0 >