Messages in this thread | | | Date | Mon, 23 Jul 2007 23:37:51 +0530 (IST) | From | Satyam Sharma <> | Subject | Re: [PATCH 7/8] i386: bitops: Kill needless usage of __asm__ __volatile__ |
| |
On Mon, 23 Jul 2007, Jeremy Fitzhardinge wrote:
> I'm not quite sure what your point is.
Could be a case of terminology confusion ...
> The paragraph you quoted is > pretty explicit in saying that volatile doesn't prevent an "asm > volatile" from being interspersed with other code, and the example just > before that is explicit in talking about how to use dependencies to > control the ordering of asm volatiles with respect to surrounding code.
Yes, that was the (2).
> In fact nothing in that section precludes asm volatiles from being > reordered with respect to each other either; you just have to make sure > your dependency constraints are all correct.
The (3) as I had originally written / meant was that multiple instructions in a volatile asm would not get _individually_ interspersed with the rest of the code i.e. be emitted out _consecutively_. I don't think we need any such guarantees for the non-atomic variants of those operations, so it's good to let the compiler have a free hand with what it wants to do, and optimize/combine multiple bitops as necessary / possible, which was the original intention.
Satyam - 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/
| |