Hi,
On 7/23/07, Nick Piggin <[email protected]> wrote:
Linus Torvalds wrote:
>
> 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.
Yep. We'd also want __set_bit(x, y); __set_bit(z, y); and such to be
combined.
>
> But now I'm too scared to look.
Not a chance :) Even the asm-generic "reference" implementation ratifies
the volatile crapiness. Would you take a patch?
Coincidentally, I'm working on a cleanup of the bitops code just now --
I stumbled upon a lot of varied bogosity in there :-) Intend to send it
out in a couple of hours, probably.
Satyam
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]