Re: [patch] spinlocks: remove 'volatile'

From: Linus Torvalds
Date: Thu Jul 06 2006 - 16:32:14 EST




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
-
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/