Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures

From: Paul E. McKenney
Date: Fri Aug 17 2007 - 15:49:44 EST


On Fri, Aug 17, 2007 at 11:54:33AM -0700, Arjan van de Ven wrote:
>
> On Fri, 2007-08-17 at 12:50 -0600, Chris Friesen wrote:
> > Linus Torvalds wrote:
> >
> > > - in other words, the *only* possible meaning for "volatile" is a purely
> > > single-CPU meaning. And if you only have a single CPU involved in the
> > > process, the "volatile" is by definition pointless (because even
> > > without a volatile, the compiler is required to make the C code appear
> > > consistent as far as a single CPU is concerned).
> >
> > I assume you mean "except for IO-related code and 'random' values like
> > jiffies" as you mention later on? I assume other values set in
> > interrupt handlers would count as "random" from a volatility perspective?
> >
> > > So anybody who argues for "volatile" fixing bugs is fundamentally
> > > incorrect. It does NO SUCH THING. By arguing that, such people only show
> > > that you have no idea what they are talking about.
> >
> > What about reading values modified in interrupt handlers, as in your
> > "random" case? Or is this a bug where the user of atomic_read() is
> > invalidly expecting a read each time it is called?
>
> the interrupt handler case is an SMP case since you do not know
> beforehand what cpu your interrupt handler will run on.

With the exception of per-CPU variables, yes.

Thanx, Paul
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/