Re: bit fields && data tearing

Paul E. McKenney
2014-09-05T21:05:43Z

On Fri, Sep 05, 2014 at 10:48:34PM +0200, Thomas Gleixner wrote:
> On Fri, 5 Sep 2014, Paul E. McKenney wrote:
> > On Fri, Sep 05, 2014 at 01:34:52PM -0700, H. Peter Anvin wrote:
> > > On 09/05/2014 01:14 PM, Peter Hurley wrote:
> > > >
> > > > Here's how I read the two statements.
> > > >
> > > > First, the commit message:
> > > >
> > > > "It [this commit] documents that CPUs [supported by the Linux kernel]
> > > > _must provide_ atomic one-byte and two-byte naturally aligned loads and stores."
> > > >
> > > > Second, in the body of the document:
> > > >
> > > > "The Linux kernel no longer supports pre-EV56 Alpha CPUs, because these
> > > > older CPUs _do not provide_ atomic one-byte and two-byte loads and stores."
> > > >
> > >
> > > Does this apply in general or only to SMP configurations? I guess
> > > non-SMP configurations would still have problems if interrupted in the
> > > wrong place...
> >
> > And preemption could cause problems, too. So I believe that it needs
> > to be universal.
>
> Well preemption is usually caused by an interrupt, except you have a
> combined load and preempt instruction :)

Fair point! ;-)

Thanx, Paul