lkml.org 
[lkml]   [2010]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 134/149] x86, paravirt: Add a global synchronization point for pvclock
On 07/14/2010 01:50 PM, H. Peter Anvin wrote:
> invlpg, in the general case, definitely needs a memory clobber even if
> volatiles are ordered, since it needs to be ordered with regards to
> non-volatile memory operations.
>

Yes. I'd say write_crX should need that too, since they can they can
have a variety global effects on how memory addressing works (from tlb
flush to switching pagetable formats).

> Note that memory clobbers don't by themselves enforce ordering since
> they don't prevent the ordering of memory clobbers with respect to each
> other.
>

Hm. Well we do *definitely* rely on that. I guess technically we'd
need at least a memory input on the asm to be ordered with respect to a
memory clobber. But that doesn't seem to have been an issue (or perhaps
its mixed up with the secret semantics of asm volatile).

J


\
 
 \ /
  Last update: 2010-07-14 23:13    [from the cache]
©2003-2011 Jasper Spaans