On Thu, Jul 15, 2021 at 09:01:48AM +0200, Christoph Hellwig wrote: > On Thu, Jul 01, 2021 at 07:35:37PM +0800, Hou Tao wrote: [ . . . ] > > Fixing it by using smp_load_acquire() & smp_store_release() to guarantee > > the order between {bio->bi_private|dio->waiter} and {bi_status|bi_blkg}. > > > > Fixes: 189ce2b9dcc3 ("block: fast-path for small and simple direct I/O requests") > > This obviously does not look broken, but smp_load_acquire / > smp_store_release is way beyond my paygrade. Adding some CCs. Huh. I think that it was back in 2006 when I first told Linus that my goal was to make memory ordering routine. I clearly have not yet achieved that goal, even given a lot of help from a lot of people over a lot of years. Oh well, what is life without an ongoing challenge? ;-) Thanx, Paul