Messages in this thread | | | Date | Tue, 14 Jan 2014 21:20:27 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v8 4/4] qrwlock: Use smp_store_release() in write_unlock() |
| |
On Tue, Jan 14, 2014 at 02:09:30PM -0500, Waiman Long wrote: > I would like to know if the action of writing out a byte (e.g. *byte = 0) is > atomic in those architectures or is emulated by a compiler-generated > software read-modify-write.
So on Alpha pre ev56 something like:
*(volatile u8 *)foo = 0;
_Should_ cause a compile error as the hardware has to do a rmw which is not compatible with the requirements for volatile -- that said I do not know if a compiler will actually generate this error.
I can well imagine other load-store archs suffering similar problems, although I'm not aware of any.
| |