Re: [PATCH v2 cmpxchg 12/13] sh: Emulate one-byte cmpxchg
Al Viro <[email protected]>
| Newsgroups | gmane.linux.kernel.cross-arch,gmane.linux.kernel,gmane.linux.ports.sh.devel |
|---|---|
| Message-ID | <20240502232447.GO2118490@ZenIV> |
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...