Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures
From: Segher Boessenkool
Date: Thu Aug 16 2007 - 17:02:34 EST
Here, I should obviously admit that the semantics of *(volatile int *)&
aren't any neater or well-defined in the _language standard_ at all.
The
standard does say (verbatim) "precisely what constitutes as access to
object of volatile-qualified type is implementation-defined", but GCC
does help us out here by doing the right thing.
Where do you get that idea? GCC manual, section 6.1, "When
is a Volatile Object Accessed?" doesn't say anything of the
kind. PR33053 and some others.
Honestly, given such confusion, and the propensity of the "volatile"
type-qualifier keyword to be ill-defined (or at least poorly
understood,
often inconsistently implemented), I'd (again) express my opinion that
it
would be best to avoid its usage, given other alternatives do exist.
Yeah. Or we can have an email thread like this every time
someone proposes a patch that uses an atomic variable ;-)
Segher
-
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/