Re: [PATCH] blk-mq: Start to fix memory ordering...

2017-09-06 Thread Peter Zijlstra
On Wed, Sep 06, 2017 at 09:13:04AM +0200, Andrea Parri wrote: > > + smp_mb__before_atomic(); > > I am wondering whether we should be using smp_wmb() instead: this would > provide the above guarantee and save a full barrier on powerpc/arm64. Right, did that. > > + set_bit(REQ_ATOM_STARTED, &r

Re: [PATCH] blk-mq: Start to fix memory ordering...

2017-09-06 Thread Peter Zijlstra
On Tue, Sep 05, 2017 at 02:51:25PM +, Bart Van Assche wrote: > "deaedline" is a spelling error. Has this patch been tested? Bah.. So I ran with a previous version for a while, but then redid the whole patch (as its mostly comments anyway) and clearly made a giant mess of it. I'll respin.

Re: [PATCH] blk-mq: Start to fix memory ordering...

2017-09-06 Thread Andrea Parri
On Mon, Sep 04, 2017 at 11:09:32AM +0200, Peter Zijlstra wrote: > > Attempt to untangle the ordering in blk-mq. The patch introducing the > single smp_mb__before_atomic() is obviously broken in that it doesn't > clearly specify a pairing barrier and an obtained guarantee. > > The comment is furth

Re: [PATCH] blk-mq: Start to fix memory ordering...

2017-09-05 Thread Bart Van Assche
On Mon, 2017-09-04 at 11:09 +0200, Peter Zijlstra wrote: > /* >* Mark us as started and clear complete. Complete might have been >* set if requeue raced with timeout, which then marked it as >* complete. So be sure to clear complete again when we start >* the r

[PATCH] blk-mq: Start to fix memory ordering...

2017-09-04 Thread Peter Zijlstra
Attempt to untangle the ordering in blk-mq. The patch introducing the single smp_mb__before_atomic() is obviously broken in that it doesn't clearly specify a pairing barrier and an obtained guarantee. The comment is further misleading in that it hints that the deadline store and the COMPLETE stor