Re: [PATCH 3/4] x86,asm: Re-work smp_store_mb()

From: Davidlohr Bueso
Date: Mon Nov 02 2015 - 15:15:50 EST


On Tue, 27 Oct 2015, Peter Zijlstra wrote:

On Wed, Oct 28, 2015 at 06:33:56AM +0900, Linus Torvalds wrote:
On Wed, Oct 28, 2015 at 4:53 AM, Davidlohr Bueso <dave@xxxxxxxxxxxx> wrote:
>
> Note that this might affect callers that could/would rely on the
> atomicity semantics, but there are no guarantees of that for
> smp_store_mb() mentioned anywhere, plus most archs use this anyway.
> Thus we continue to be consistent with the memory-barriers.txt file,
> and more importantly, maintain the semantics of the smp_ nature.


So with this patch, the whole thing becomes pointless, I feel. (Ok, so
it may have been pointless before too, but at least before this patch
it generated special code, now it doesn't). So why carry it along at
all?

So I suppose this boils down to if: XCHG ends up being cheaper than
MOV+FENCE.

So I ran some experiments on an IvyBridge (2.8GHz) and the cost of XCHG is
constantly cheaper (by at least half the latency) than MFENCE. While there
was a decent amount of variation, this difference remained rather constant.

Then again, I'm not sure this matters. Thoughts?

Thanks,
Davidlohr
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/