![]() | |||||||||||||
Messages in this thread |
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? -- SUSE Labs, Novell Inc. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2007-07-23 09:09 [from the cache] ©2003-2008 | |||||||||||||