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

From: David Miller
Date: Wed May 19 2010 - 15:54:47 EST


From: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
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.)
--
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/