Re: [patch] spinlocks: remove 'volatile'

Linus Torvalds
2006-07-06T20:33:54Z

On Thu, 6 Jul 2006, Chris Friesen wrote:
>
> As long as you're not talking to external devices, each cpu must be coherent
> with respect to itself, no? It's allowed to execute out-of-order, but it
> needs to make sure that by doing so it doesn't cause changes that are visible
> to software.

Right. But then "volatile" won't really matter either, unless you have
some _ordering_ constraint, in which case "volatile" is not enough unless
you're guaranteed to be single-threaded.

In other words, again, "volatile" is almost always the wrong thing to
have, and just makes you _think_ your code is correct.

Linus