On Fri, 20 Jul 2007, Nick Piggin wrote:
So you did. Then to answer that, yes it could be faster because there are
stupid volatiles sprinkled all over the bitops code so you could easily
end up having to do more loads. Does it make a real difference? Unlikely,
but David loves counting cycles :)
I thought we long long since removed the volatiles. They are buggy and horrible, and we really want to let the compiler combine multiple test-bits, and if they matter that implies locking is buggy or something worse..
Ie we'd *want*
if (test_bit(x, y) || test_bit(z,y))
to be rewritten by the compiler as testing bits x/z at the same time.
But now I'm too scared to look.