Re: [GIT PULL] workqueue fixes for v4.6-rc5

From: Tejun Heo
Date: Wed Apr 27 2016 - 15:03:34 EST


On Wed, Apr 27, 2016 at 11:49:35AM -0700, Linus Torvalds wrote:
> On Wed, Apr 27, 2016 at 9:11 AM, Tejun Heo <tj@xxxxxxxxxx> 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.

Heh, yeah, brainfart. smp_mb(), obviously.

Thanks.

--
tejun