On Fri, Mar 13, 2020 at 10:50 AM Jens Axboe <axboe@xxxxxx> wrote: > > Just a single fix here, improving the RCU callback ordering from last > week. After a bit more perusing by Paul, he poked a hole in the > original. Ouch. If I read this patch correctly, you're now adding a rcu_barrier() onto the system workqueue for each io_uring context freeing op. This makes me worry: - I think system_wq is unordered, so does it even guarantee that the rcu_barrier happens after whatever work you're expecting it to be after? Or is it using a workqueue not because it wants to serialize with any other work, but because it needs to use rcu_barrier in a context where it can't sleep? But the commit message does seem to imply that ordering is important.. - doesn't this have the potential to flood the system_wq be full of flushing things that all could take a while.. I've pulled it, and it may all be correct, just chalk this message up to "Linus got nervous looking at it". Added Paul and Tejun to the participants explicitly. Linus