Re: [PATCH 1/1] [RFC] workqueue: fix ghost PENDING flag while doing MQ IO

From: Hannes Reinecke
Date: Wed Apr 27 2016 - 01:50:11 EST


On 04/26/2016 07:45 PM, Tejun Heo wrote:
> Hello, Peter.
>
> On Tue, Apr 26, 2016 at 10:27:59AM -0700, Peter Hurley wrote:
>>> It's unlikely to make any measureable difference. Is xchg() actually
>>> cheaper than store + rmb?
>>
>> store + mfence (full barrier), yes. Roughly 2x faster.
>>
>> https://lkml.org/lkml/2015/11/2/607
>
> Ah, didn't know that. Thanks for the pointer.
>
>>> I'm not necessarily against making all clearings of
>>> PENDING to be followed by a rmb or use xhcg. Reasons 2-4 are pretty
>>> weak tho.
>>
>> I agree 2 and 3 are not the best reasons.
>> Actually, it looks that I'm in the minority anyway, and that style-wise,
>> naked barrier is preferred.
>
> As long as what's happening is clearly documented, I think either is
> fine. I'm gonna go with Roman's mb patch for -stable fix but think
> it'd be nice to have a separate patch to consolidate the paths which
> clear PENDING and make them use xchg. If you can spin up a patch for
> that, I'd be happy to apply it to wq/for-3.7.
> ^^^
Ah. Time warp.
I knew it would happen eventually :-)

Cheers,

Hannes
--
Dr. Hannes Reinecke Teamlead Storage & Networking
hare@xxxxxxx +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)