On Mon, 2007-07-23 at 10:55 -0700, Linus Torvalds wrote:
In fact, it's more than that... the bitops that return a value are often
used to have hand-made spinlock semantics. I'm sure we would get funky
bugs if loads or stores leaked out of the locked region. I think a full
"memory" clobber should be kept around for those cases.
(That's also why on ppc, we give them a few more barriers)