Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures
From: Chris Snook <hidden>
Date: 2007-08-09 14:30:48
Also in:
linux-arch, lkml
From: Chris Snook <hidden>
Date: 2007-08-09 14:30:48
Also in:
linux-arch, lkml
Arnd Bergmann wrote:
On Thursday 09 August 2007, Chris Snook wrote:quoted
This patchset makes the behavior of atomic_read uniform by removing the volatile keyword from all atomic_t and atomic64_t definitions that currently have it, and instead explicitly casts the variable as volatile in atomic_read(). This leaves little room for creative optimization by the compiler, and is in keeping with the principles behind "volatile considered harmful".Just an idea: since all architectures already include asm-generic/atomic.h, why not move the definitions of atomic_t and atomic64_t, as well as anything that does not involve architecture specific inline assembly into the generic header? Arnd <><
a) chicken and egg: asm-generic/atomic.h depends on definitions in asm/atomic.h If you can find a way to reshuffle the code and make it simpler, I personally am all for it. I'm skeptical that you'll get much to show for the effort. b) The definitions aren't precisely identical between all architectures, so it would be a mess of special cases, which gets us right back to where we are now. -- Chris