Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp3791014pxb; Tue, 17 Nov 2020 03:45:39 -0800 (PST) X-Google-Smtp-Source: ABdhPJyDKjr5UniOOD8hLEo45hCr4yC+nuVJS0u2k6D18b55p42KJ9jlGYcyO/YYckKp7hAHmlnj X-Received: by 2002:aa7:c151:: with SMTP id r17mr20309179edp.216.1605613539391; Tue, 17 Nov 2020 03:45:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605613539; cv=none; d=google.com; s=arc-20160816; b=M91iVd7bLEbb8yDpzJu+yH47qYNkBvKM9NMQw1L8KQ7RdPOeUojAYlFT0WoncmevD/ bd3omEbACFUYHlSMuqzACZpFJMeGqVZqE4ImPd9W2giBBrVoJsXNygn3seba3wmoX/2y ME6UdzyFqjEq0nDwwYsfi2Iw4D2o/tMNKF2tBoQ9rSIUubM/GSVLtWG6t5dh6sYneZ/9 HoNMBsFlg3FARE1FG032uogSHd+zgy9hHAWcKJw7dGmDGd8WtZjADAYYMNyUAMYNE3KP 7TJ6yM2kcsD3Z4Wp2BVfmD6gGtKWjpslpmhkJvJ+kOPT32FA9Z3ylVjbLqgNuxwxrxdo t/HQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=aQuNMS1tN/BXJOFxaTGFOTQC9ps1FrusoJbeXQYNylc=; b=Yw0+T+Oi2Bo+72/tQuwCo3sre7Vvk+NyuRkbx7E+wtM9aE5FVgVLehUjjWcjIKUzto NU6Z6hTiQ7DX+7d/8usnJy2bDjhMwJJrggBQBXuxvC4unaEdnPFIKnmKOMMCD2p9G6mp NposdOp2S6BTs5JMUehFQe/ocDgdK8xrvMDVqR0XswfLA64PSH9hI8xehE7xRQL/696L fctpuITDcQbZL7fXsLT+bccHa+zPQ1JVcHQBmpi+s2hHGrmdBYUgiBW28EmtAd6Y1euH 5MhczwdZolLviGIH7+LGKmt4wmE/FPxFGqzH51umPqVNm/Hoj5yDGfxEQcRcD7Zyk9Sk EVdg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g3si13608770ejf.326.2020.11.17.03.45.15; Tue, 17 Nov 2020 03:45:39 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728039AbgKQLnW (ORCPT + 99 others); Tue, 17 Nov 2020 06:43:22 -0500 Received: from outbound-smtp25.blacknight.com ([81.17.249.193]:42406 "EHLO outbound-smtp25.blacknight.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725355AbgKQLnW (ORCPT ); Tue, 17 Nov 2020 06:43:22 -0500 Received: from mail.blacknight.com (pemlinmail06.blacknight.ie [81.17.255.152]) by outbound-smtp25.blacknight.com (Postfix) with ESMTPS id 87A53CAFE3 for ; Tue, 17 Nov 2020 11:43:20 +0000 (GMT) Received: (qmail 27865 invoked from network); 17 Nov 2020 11:43:20 -0000 Received: from unknown (HELO techsingularity.net) (mgorman@techsingularity.net@[84.203.22.4]) by 81.17.254.9 with ESMTPSA (AES256-SHA encrypted, authenticated); 17 Nov 2020 11:43:19 -0000 Date: Tue, 17 Nov 2020 11:43:18 +0000 From: Mel Gorman To: Peter Zijlstra Cc: Will Deacon , Davidlohr Bueso , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Tejun Heo Subject: Re: [PATCH] sched: Fix rq->nr_iowait ordering Message-ID: <20201117114318.GX3371@techsingularity.net> References: <20201116091054.GL3371@techsingularity.net> <20201116131102.GA29992@willie-the-truck> <20201116133721.GQ3371@techsingularity.net> <20201116142005.GE3121392@hirez.programming.kicks-ass.net> <20201116193149.GW3371@techsingularity.net> <20201117083016.GK3121392@hirez.programming.kicks-ass.net> <20201117093829.GD3121429@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <20201117093829.GD3121429@hirez.programming.kicks-ass.net> User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Nov 17, 2020 at 10:38:29AM +0100, Peter Zijlstra wrote: > Subject: sched: Fix rq->nr_iowait ordering > From: Peter Zijlstra > Date: Thu, 24 Sep 2020 13:50:42 +0200 > > schedule() ttwu() > deactivate_task(); if (p->on_rq && ...) // false > atomic_dec(&task_rq(p)->nr_iowait); > if (prev->in_iowait) > atomic_inc(&rq->nr_iowait); > > Allows nr_iowait to be decremented before it gets incremented, > resulting in more dodgy IO-wait numbers than usual. > > Note that because we can now do ttwu_queue_wakelist() before > p->on_cpu==0, we lose the natural ordering and have to further delay > the decrement. > > Fixes: Fixes: c6e7bd7afaeb ("sched/core: Optimize ttwu() spinning on p->on_cpu") > Reported-by: Tejun Heo > Signed-off-by: Peter Zijlstra (Intel) s/Fixes: Fixes:/Fixes:/ Ok, very minor hazard that the same logic gets duplicated that someone might try "fix" but git blame should help. Otherwise, it makes sense as I've received more than one "bug" that complained that a number was larger than they expected even if no other problem was present so Acked-by: Mel Gorman -- Mel Gorman SUSE Labs