Re: [PATCH] "volatile considered harmful", take 3
- From: "H. Peter Anvin" <hpa@xxxxxxxxx>
- Date: Fri, 11 May 2007 23:21:13 -0700
Satyam Sharma wrote:
Because volatile is ill-defined? Or actually, *undefined* (well,
implementation-defined is as good as that)? It's *so* _vague_,
one doesn't _feel_ like using it at all!
Sorry, that's just utter crap. Linux isn't written in some mythical C
which only exists in standard document, it is written in a particular
subset of GNU C. "volatile" is well enough defined in that context, it
is just frequently misused.
We already have a complete API containing optimization barriers,
load/store/full memory barriers. With well-defined and
well-understood semantics. Just ... _why_ use volatile?
See below.
It will _always_ work. In fact you can't really say the same for
volatile. We already assume the compiler _actually_ took some
pains to stuff meaning into C's (lack of) definition of volatile and
implement it -- but in what sense, nobody knows (the C standard
doesn't, so what are we).
It will always work within the context of GNU C.
more heavy-handed as it's disabling *all* optimization such as loop
invariants across the barrier.
This is a legitimate criticism, I agree.
There you have it.
-hpa
-
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/
- Follow-Ups:
- Re: [PATCH] "volatile considered harmful", take 3
- From: Dr. David Alan Gilbert
- Re: [PATCH] "volatile considered harmful", take 3
- From: Satyam Sharma
- Re: [PATCH] "volatile considered harmful", take 3
- References:
- [PATCH] "volatile considered harmful", take 3
- From: Jonathan Corbet
- Re: [PATCH] "volatile considered harmful", take 3
- From: Satyam Sharma
- Re: [PATCH] "volatile considered harmful", take 3
- From: H. Peter Anvin
- Re: [PATCH] "volatile considered harmful", take 3
- From: Satyam Sharma
- [PATCH] "volatile considered harmful", take 3
- Prev by Date: Re: FUTEX_CMP_REQUEUE_PI is not quite there
- Next by Date: Re: [RFC PATCH] kbuild: silence section mismatch warnings
- Previous by thread: Re: [PATCH] "volatile considered harmful", take 3
- Next by thread: Re: [PATCH] "volatile considered harmful", take 3
- Index(es):
Relevant Pages
|