Re: [PATCH 2/2]: atomic_t: Remove volatile from atomic_t definition

David Miller
2010-05-19T19:54:44Z

From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Date: Wed, 19 May 2010 08:01:32 -0700

> On Wed, May 19, 2010 at 11:03:27PM +1000, Nick Piggin wrote:
>> For atomic_read it shouldn't matter unless gcc is *really* bad at it.
>> Ah, for atomic_read, the required semantic is surely ACCESS_ONCE, so
>> that's where the volatile is needed? (maybe it would be clearer to
>> explicitly use ACCESS_ONCE?)
>
> Explicit use of ACCESS_ONCE() where needed makes a lot of sense to me,
> and allows better code to be generated for initialization and cleanup
> code where no other task has access to the atomic_t.

I agree and I want to see this too, but I think with the tree the size
that it is we have to work backwards at this point.

Existing behavior by default, and optimized cases get tagged by using
a new interface (atomic_read_light(), test_bit{,s}_light(), etc.)