[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFwLbYQZaoo0UT7DH4B8H_3GkywcXP0HwrMSB9ubaFAtKA@mail.gmail.com>
Date: Wed, 27 Apr 2016 11:49:35 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Tejun Heo <tj@...nel.org>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Roman Pen <roman.penyaev@...fitbricks.com>,
Peter Hurley <peter@...leysoftware.com>,
Jens Axboe <axboe@...nel.dk>
Subject: Re: [GIT PULL] workqueue fixes for v4.6-rc5
On Wed, Apr 27, 2016 at 9:11 AM, Tejun Heo <tj@...nel.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.
Linus
Powered by blists - more mailing lists