On Mon, Apr 18, 2022 at 3:12 PM Jens Axboe <axboe@xxxxxxxxx> 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. Linus