bit fields && data tearing
Marc Gauthier
marc at cadence.com
Sat Sep 6 05:38:56 EST 2014
Paul E. McKenney wrote:
>On Fri, Sep 05, 2014 at 02:50:31PM -0400, Peter Hurley wrote:
>>On 09/05/2014 02:09 PM, Paul E. McKenney wrote:
>>> This commit documents the fact that it is not safe to use bitfields as
>>> shared variables in synchronization algorithms. It also documents that
>>> CPUs must provide one-byte and two-byte load and store instructions
>> ^
>> atomic
>
> Here you meant non-atomic? My guess is that you are referring to the
> fact that you could emulate a one-byte store on pre-EV56 Alpha CPUs
> using the ll and sc atomic-read-modify-write instructions, correct?
>
>>> in order to be supported by the Linux kernel. (Michael Cree
>>> has agreed to the resulting non-support of pre-EV56 Alpha CPUs:
>>> https://lkml.org/lkml/2014/9/5/143.
[...]
>>> + and 64-bit systems, respectively. Note that this means that the
>>> + Linux kernel does not support pre-EV56 Alpha CPUs, because these
>>> + older CPUs do not provide one-byte and two-byte loads and stores.
>> ^
>> non-atomic
>
> I took this, thank you!
Eum, am I totally lost, or aren't both of these supposed to say "atomic" ?
Can't imagine requiring a CPU to provide non-atomic loads and stores
(i.e. requiring old Alpha behavior?).
-Marc
More information about the Linuxppc-dev
mailing list