Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2007-08-15 06:50:41
Also in:
linux-arch, lkml
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2007-08-15 06:50:41
Also in:
linux-arch, lkml
Chris Snook [off-list ref] wrote:
Because atomic operations are generally used for synchronization, which requires volatile behavior. Most such codepaths currently use an inefficient barrier(). Some forget to and we get bugs, because people assume that atomic_read() actually reads something, and atomic_write() actually writes something. Worse, these are architecture-specific, even compiler version-specific bugs that are often difficult to track down.
I'm yet to see a single example from the current tree where this patch series is the correct solution. So far the only example has been a buggy piece of code which has since been fixed with a cpu_relax. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} [off-list ref] Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt