Re: [PATCH v2 cmpxchg 12/13] sh: Emulate one-byte cmpxchg

From: Al Viro
Date: Thu May 02 2024 - 19:25:04 EST


On Thu, May 02, 2024 at 04:12:44PM -0700, Paul E. McKenney wrote:

> > I'm probably missing your point, though - what mix of cmpxchg and
> > smp_store_release on 8bit values?
>
> One of RCU's state machines uses smp_store_release() to start the
> state machine (only one task gets to do this) and cmpxchg() to update
> state beyond that point. And the state is 8 bits so that it and other
> state fits into 32 bits to allow a single check for multiple conditions
> elsewhere.

Humm... smp_store_release() of 8bit on old alpha is mb + fetch 64bit + replace
8 bits + store 64bit...