On Tue, Dec 06, 2016 at 01:46:37AM -0700, Jan Beulich wrote: > > + asm volatile ( > > + "pushfl\n\t" > > + "pushl %%cs\n\t" > > + "pushl $1f\n\t" > > + "iret\n\t" > > + "1:" > > + : "+r" (__sp) : : "cc", "memory"); > > I don't thing EFLAGS (i.e. "cc") gets modified anywhere here. And > the memory clobber would perhaps better be pulled out into an > explicit barrier() invocation (making it more obvious what it's needed > for)?
EVerything that implies a memory barrier (and I think serializing instructions do that) also imply a compiler barrier. Not doing the memory clobber gets you inconsistency wrt everything else. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel