[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48fa8bc9-9f8d-4406-9137-88a555883ea2@redhat.com>
Date: Wed, 17 Jul 2024 14:55:37 -0400
From: Waiman Long <longman@...hat.com>
To: "tj@...nel.org" <tj@...nel.org>
Cc: Boy Wu (吳勃誼) <Boy.Wu@...iatek.com>,
"boris@....io" <boris@....io>,
"linux-block@...r.kernel.org" <linux-block@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"cgroups@...r.kernel.org" <cgroups@...r.kernel.org>,
"linux-mediatek@...ts.infradead.org" <linux-mediatek@...ts.infradead.org>,
"axboe@...nel.dk" <axboe@...nel.dk>,
Iverlin Wang (王苳霖) <Iverlin.Wang@...iatek.com>,
"josef@...icpanda.com" <josef@...icpanda.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"matthias.bgg@...il.com" <matthias.bgg@...il.com>,
"angelogioacchino.delregno@...labora.com"
<angelogioacchino.delregno@...labora.com>
Subject: Re: [PATCH v3] blk-cgroup: Replace u64 sync with spinlock for iostat
update
On 7/17/24 14:24, tj@...nel.org wrote:
> Hello,
>
> On Wed, Jul 17, 2024 at 02:18:39PM -0400, Waiman Long wrote:
>> Well, it can be confusing whether we are dealing with blkg->iostat or
>> blkg->iostat_cpu. In many cases, we are dealing with iostat_cpu instead of
>> iostat like __blkcg_rstat_flush() and blkg_clear_stat(). So we can't
>> eliminate the use of u64_stats_update_begin_irqsave() in those cases.
> I mean, we need to distinguish them. For 32bits, blkg->iostat has multiple
> updaters, so we can't use u64_sync; however, blkg->iostat_cpu has only one
> updater (except blkg_clear_stat() which I don't think we need to worry too
> much about), so u64_sync is fine.
I was wrong about __blkcg_rstat_flush(). Right, the main updater of
iostat_cpu is blk_cgroup_bio_start(). We do need to drop down some
comment on what is protected by u64_sync and what is by blkg_stat_lock
though. It can be confusing.
Cheers,
Longman
Powered by blists - more mailing lists