Re: [PATCH v2] fs-writeback: writeback_sb_inodes：Recalculate 'wrote' according skipped pages

Jens Axboe
2022-04-19T00:30:25Z

On 4/18/22 6:19 PM, Linus Torvalds wrote:
> On Mon, Apr 18, 2022 at 3:12 PM Jens Axboe <axboe@kernel.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