On Sun, Jul 22, 2007 at 11:05:24AM -0700, H. Peter Anvin wrote: > Andi Kleen wrote: > >> The main reason is that everyone seems to invoke it either incorrectly > > Where is it incorrect? > > Using "r" or "m" (as opposed as "+m") gives gcc the wrong dependency > information, and it could, at least in theory, cause memory references > to be moved around it -- especially when using "r". That doesn't sound correct. Taking the address should be like an escaping pointer and equivalent to read/write and effectively disable optimizations on this memory. -Andi - 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/
- Follow-Ups:
- Re: [PATCH] x86: Create clflush() inline, remove hardcoded wbinvd
- From: "H. Peter Anvin" <[email protected]>
- Re: [PATCH] x86: Create clflush() inline, remove hardcoded wbinvd
- References:
- [PATCH] Use wbinvd() macro instead of raw inline assembly in .c files
- From: Glauber de Oliveira Costa <[email protected]>
- [PATCH] x86: Create clflush() inline, remove hardcoded wbinvd
- From: "H. Peter Anvin" <[email protected]>
- Re: [PATCH] x86: Create clflush() inline, remove hardcoded wbinvd
- From: Andi Kleen <[email protected]>
- Re: [PATCH] x86: Create clflush() inline, remove hardcoded wbinvd
- From: "H. Peter Anvin" <[email protected]>
- Re: [PATCH] x86: Create clflush() inline, remove hardcoded wbinvd
- From: Andi Kleen <[email protected]>
- Re: [PATCH] x86: Create clflush() inline, remove hardcoded wbinvd
- From: "H. Peter Anvin" <[email protected]>
- [PATCH] Use wbinvd() macro instead of raw inline assembly in .c files
- Prev by Date: Re: [PATCH] Documentation: Fix a mispelt "probably" in SubmittingPatches.
- Next by Date: Re: [PATCH] x86: Create clflush() inline, remove hardcoded wbinvd
- Previous by thread: Re: [PATCH] x86: Create clflush() inline, remove hardcoded wbinvd
- Next by thread: Re: [PATCH] x86: Create clflush() inline, remove hardcoded wbinvd
- Index(es):