[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3 4/4] x86/asm: Rewrite sync_core() to use IRET-to-self



>>> On 06.12.16 at 10:25, <peterz@xxxxxxxxxxxxx> wrote:
> 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.

Well, I didn't say dropping the memory clobber altogether, but
split it into a separate barrier() invocation (placed perhaps after
the #endif).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.