Messages in this thread | | | Date | Wed, 27 Apr 2016 15:03:27 -0400 | From | Tejun Heo <> | Subject | Re: [GIT PULL] workqueue fixes for v4.6-rc5 |
| |
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@kernel.org> 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
| |