Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp6539684rdb; Fri, 15 Dec 2023 01:08:32 -0800 (PST) X-Google-Smtp-Source: AGHT+IHHfk2xMl1h0nuR40+OBKh1YKKDsKX56kM9z7dOp+3BMQjQr6/sZStKNdRGMYkiZ9DjzgTM X-Received: by 2002:a17:907:9045:b0:a1f:78a5:b5c0 with SMTP id az5-20020a170907904500b00a1f78a5b5c0mr3217407ejc.229.1702631312798; Fri, 15 Dec 2023 01:08:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702631312; cv=none; d=google.com; s=arc-20160816; b=oLEimQd9Ely1AAZK21244UzRsEsoVpIAC63gdSHjtYIJgFVZ7ywksyTGBFkKMUCyPC Ar67xUSdZ+Ifz/nBLaRPyNpZPIc4GQ5ZcaOb16BTZt3vjR8MOgDgcYdAkXRYIxBe3n9P Bw7vrtuC/IRY0X101wtcAGxbM9kLRTy4iAIqSyWsw65XhpiS7c95y/xcolZXGiiKRbhp gg6wVnjVbi2g/h272N23w19JiDtociZJmfPk1S6WVkYgRrn9wxBVATBJHy+6swNf3048 yMseNkmWPVVamEY+QqOgPaI3SAfK1fvvTjOYNxr6wHBIzm4+fXPTM0qWzj5GL+soOzmZ J2vA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=V2jW/vB6OZK4letOvyzNSwDNvVMJNGro4NaPoangls4=; fh=ya7MFaQ5i0IKqOFeGte1fKxZofyNH2bDT2q/P6hgpSU=; b=ChYLpc5XQhkuiucBIfXwwg2eUbHlwHU7l7kDdYL6gVIN+/nyGxlG8FVWEyXyUoFhH8 ZC3DkK353gaofC2KnB2gzHS2eOkgFrUCnZKMu3eOD4niA4jwecyPDfCwnNawrJCJudew 6IDFRsvaqHuONxLIYxJ4/LmpVRRiqpEOchbeTkV6TXYgJg2OJPdTr5sQ5xCh1BQc8wMz cWUE7PL1iGX0kxx2fJTognU1nmAGEkt45e7lZW1fND4VTc/N8raLfQ77PfxcWP++1yiW 7GPYRuPE+wz2+8qGc3X8W/79GJAN1jP701kb1QfymkenGzsEMltRCt35qCMpn47p7P1F mBww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=MkQn9Anu; spf=pass (google.com: domain of linux-kernel+bounces-660-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-660-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id lf4-20020a170907174400b00a22fd9ce323si2265902ejc.833.2023.12.15.01.08.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Dec 2023 01:08:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-660-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=MkQn9Anu; spf=pass (google.com: domain of linux-kernel+bounces-660-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-660-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 8AFE81F233A2 for ; Fri, 15 Dec 2023 09:08:32 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D2CDA18045; Fri, 15 Dec 2023 09:08:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="MkQn9Anu" X-Original-To: linux-kernel@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E600E179AF; Fri, 15 Dec 2023 09:08:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6C5FBC433C9; Fri, 15 Dec 2023 09:08:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1702631299; bh=etF3n/c/vZB/s/upUIIczhOuwDkgPCswl+M7l6q57aE=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=MkQn9AnuqAlCWTtFEINsE7Qv/Gfy9wT/VQVnCptT9cdFLud8/QPcmAp0eEIlV+6rv kJQr5G7JqcqkuWRLlkHVVxb2+aZkxFhK2SUJtPCCKzcQ0N1q+n+nlorvUR8bHoDzem aXjtvEdjdXBC5dKPQCPqyiW+9OK+HWLtKpaPVbN5HrKRK9uCE6tnwPfaofUkcjrZqp IjNgSEa4JYwyNLWgFefWqHuvbO83UN5AN3BhiIP6UVJX5h420J1D2D82xVNqBpnigF 2M6ps1VyebT2Eiz9PHuFBml1Q5cIDIOv3HkC/uJj7uREeHrZNRKkFxNgrc3p2gZng3 WRt+fLMEFbbog== Received: by mail-lj1-f174.google.com with SMTP id 38308e7fff4ca-2c9f7fe6623so4072651fa.3; Fri, 15 Dec 2023 01:08:19 -0800 (PST) X-Gm-Message-State: AOJu0YwowBA0yJsYfBKe4jDMlUoG4Ex0juWqnFhtO5Yk7zRQuHO8kM+5 ILkDc5i/nYJuPBmKTZcxRJ22VhQLSgRPmXEvlqo= X-Received: by 2002:a2e:a914:0:b0:2cb:2a1f:4716 with SMTP id j20-20020a2ea914000000b002cb2a1f4716mr5587241ljq.8.1702631297602; Fri, 15 Dec 2023 01:08:17 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20231215013931.3329455-1-linan666@huaweicloud.com> <20231215013931.3329455-3-linan666@huaweicloud.com> In-Reply-To: <20231215013931.3329455-3-linan666@huaweicloud.com> From: Song Liu Date: Fri, 15 Dec 2023 01:08:06 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 2/2] md: don't account sync_io if iostats of the disk is disabled To: linan666@huaweicloud.com Cc: axboe@kernel.dk, linux-raid@vger.kernel.org, linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, yukuai3@huawei.com, yi.zhang@huawei.com, houtao1@huawei.com, yangerkun@huawei.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Dec 14, 2023 at 5:41=E2=80=AFPM wrote: > > From: Li Nan > > If iostats is disabled, disk_stats will not be updated and > part_stat_read_accum() only returns a constant value. In this case, > continuing to count sync_io and to check is_mddev_idle() is no longer > meaningful. > > Signed-off-by: Li Nan > --- > drivers/md/md.h | 3 ++- > drivers/md/md.c | 4 ++++ > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/md/md.h b/drivers/md/md.h > index 1a4f976951c1..75f5c5d04e71 100644 > --- a/drivers/md/md.h > +++ b/drivers/md/md.h > @@ -589,7 +589,8 @@ static inline void md_sync_acct(struct block_device *= bdev, unsigned long nr_sect > > static inline void md_sync_acct_bio(struct bio *bio, unsigned long nr_se= ctors) > { > - md_sync_acct(bio->bi_bdev, nr_sectors); > + if (blk_queue_io_stat(bio->bi_bdev->bd_disk->queue)) > + md_sync_acct(bio->bi_bdev, nr_sectors); Do we need the same check for md_sync_acct()? > } > > struct md_personality > diff --git a/drivers/md/md.c b/drivers/md/md.c > index 1d71b2a9af03..18bbceb0ffd6 100644 > --- a/drivers/md/md.c > +++ b/drivers/md/md.c > @@ -8502,6 +8502,10 @@ static int is_mddev_idle(struct mddev *mddev, int = init) > rcu_read_lock(); > rdev_for_each_rcu(rdev, mddev) { > struct gendisk *disk =3D rdev->bdev->bd_disk; > + > + if (blk_queue_io_stat(mddev->queue)) > + continue; This looks weird. Do you mean if (!blk_queue_io_stat(disk->queue)) Note that I changed two things here: 1) add "!"; 2) check disk, not mddev. Did I miss something? Thanks, Song > + > curr_events =3D > (long long)part_stat_read_accum(disk->part0, sect= ors) - > atomic64_read(&disk->sync_io); > -- > 2.39.2 >