[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <69f80fe3-5bec-f02e-474b-e49651f5818f@kernel.dk>
Date: Mon, 18 Apr 2022 18:30:16 -0600
From: Jens Axboe <axboe@...nel.dk>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Zhihao Cheng <chengzhihao1@...wei.com>,
Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Al Viro <viro@...iv.linux.org.uk>,
Christoph Hellwig <hch@....de>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
yukuai3@...wei.com
Subject: Re: [PATCH v2] fs-writeback: writeback_sb_inodes:Recalculate 'wrote' according skipped pages
On 4/18/22 6:19 PM, Linus Torvalds wrote:
> On Mon, Apr 18, 2022 at 3:12 PM Jens Axboe <axboe@...nel.dk> wrote:
>>
>> Hmm yes. But doesn't preemption imply a full barrier? As long as we
>> assign the plug at the end, we should be fine. And just now looking that
>> up, there's even already a comment to that effect in blk_start_plug().
>> So barring any weirdness with that, maybe that's the solution.
>
> My worry is more about the code that adds new cb_list entries to the
> plug, racing with then some random preemption event that flushes the
> plug.
>
> preemption itself is perfectly fine wrt any per-thread data updates
> etc, but if preemption then also *changes* the data that is updated,
> that's not great.
>
> So that worries me.
Yes, and the same is true for eg merge traversal. We'd then need to
disable preempt for that as well...
It may be the best option in terms of making this issue go away without
having callers working around it. I don't have a good answer to this
right now, I'll think about it.
--
Jens Axboe
Powered by blists - more mailing lists