On Wed, Apr 27, 2016 at 9:11 AM, Tejun Heo <[email protected]> wrote:
>
> Unfortunately, we were missing a smp_rmb() after clearing PENDING for
> execution, so nothing guaranteed visibility of the changes that a
> queueing loser has made, which manifested as a reproducible blk-mq
> stall.

That explanation makes no sense. A smp_rmb() after a store makes no
sense what-so-ever.

Happily, the code itself does and has a big comment. It's not a
"smp_rmb()", it's a full memory barrier. Which *does* make sense as
serializing a store wrt a following load.

                  Linus

Reply via email to