Re: [PATCH tip/core/rcu 02/40] rcu: Make arch select smp_mb__after_unlock_lock() strength
From: Peter Zijlstra
Date: Thu Apr 13 2017 - 12:38:20 EST
On Thu, Apr 13, 2017 at 09:26:51AM -0700, Paul E. McKenney wrote:
> ARCH_WEAK_RELEASE_ACQUIRE actually works both ways.
>
> To see this, imagine some strange alternate universe in which the Power
> hardware guys actually did decide to switch PPC to doing RCsc as you
> suggest. There would still be a lot of Power hardware out there that
> still does RCpc. Therefore, powerpc builds that needed to run on old
> Power hardware would select ARCH_WEAK_RELEASE_ACQUIRE, while kernels
> built to run only on the shiny new (but mythical) alternate-universe
> Power hardware would avoid selecting this Kconfig option.
Ah, but Power software guys could do it today by replacing an LWSYNC
with a SYNC in say arch_spin_unlock().
And yes, I know this isn't a popular suggestion, but it would do the
trick.
Its just that since there's one (PPC) we can sort of pressure them with
the pain of being the only ones to hit all the bugs. But the moment more
appear (and I'm afraid it'll be MIPS, with the excuse that PPC already
does this) it will be ever so much harder to get rid of it.
Then again, maybe I should just give up and accept the Linux kernel has
RCpc locks..