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

From: Davidlohr Bueso
Date: Wed Oct 28 2015 - 15:49:59 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

So I suppose this boils down to if: XCHG ends up being cheaper than

If so, could this be the reasoning behind the mix and match of xchg and
MOV+FENCE? for different archs? This is from the days when set_mb() was
introduced. I wonder if it still even matters... I at least haven't seen
much difference in general workloads (I guess any difference would be
neglictible for practical matters). But could obviously be missing something.

PeterA, any idea?

I suppose you're referring to hpa, Cc'ing him.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at