Messages in this thread | | | From | Segher Boessenkool <> | Subject | Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures | Date | Thu, 16 Aug 2007 03:30:44 +0200 |
| |
>>> Part of the motivation here is to fix heisenbugs. If I knew where >>> they >> >> By the same token we should probably disable optimisations >> altogether since that too can create heisenbugs. > > Precisely the point -- use of volatile (whether in casts or on asms) > in these cases are intended to disable those optimizations likely to > result in heisenbugs.
The only thing volatile on an asm does is create a side effect on the asm statement; in effect, it tells the compiler "do not remove this asm even if you don't need any of its outputs".
It's not disabling optimisation likely to result in bugs, heisen- or otherwise; _not_ putting the volatile on an asm that needs it simply _is_ a bug :-)
Segher
- 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/
| |