Re: [PATCH] make atomic_t volatile on all architectures

From: Bodo Eggert
Date: Thu Aug 09 2007 - 05:10:47 EST


Jerry Jiang <wjiang@xxxxxxxxxxxxxx> wrote:
> On Wed, 8 Aug 2007 21:18:25 -0700 (PDT)
>> On Wed, 8 Aug 2007, Chris Snook wrote:

>> > Some architectures currently do not declare the contents of an atomic_t to
>> > be
>> > volatile. This causes confusion since atomic_read() might not actually
>> > read anything if an optimizing compiler re-uses a value stored in a
>> > register, which can break code that loops until something external changes
>> > the value of an atomic_t.
>>
>> I'd be *much* happier with "atomic_read()" doing the "volatile" instead.
>>
>> The fact is, volatile on data structures is a bug. It's a wart in the C
>> language. It shouldn't be used.
>
> Why? It's a wart! Is it due to unclear C standard on volatile related point?
>
> Why the *volatile-accesses-in-code* is acceptable, does C standard make it
> clear?

http://lwn.net/Articles/233482/
--
Fun things to slip into your budget
Heisenberg Compensator upgrade kit

Friß, Spammer: uWfuXeviZ@xxxxxxxxxxxxxxxxxxxx
-
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/