From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerone Young Subject: Re: [PATCH] cpu barriers moved and x86-64 barriers add Date: Thu, 3 Mar 2005 11:27:52 +1800 Message-ID: <9f50a7a0050302092715ab8466@mail.gmail.com> References: <1109707006.13010.15.camel@thinkpad> <1b8fe72b3f68af920c3ff9bba691daff@cl.cam.ac.uk> <4224DD54.3000501@us.ibm.com> <1109715878.13010.34.camel@thinkpad> Reply-To: Jerone Young Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-Reply-To: <1109715878.13010.34.camel@thinkpad> Sender: xen-devel-admin@lists.sourceforge.net Errors-To: xen-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: Jerone Young Cc: xen-devel , Keir Fraser , Anthony Liguori List-Id: xen-devel@lists.xenproject.org Ok pay this email no mind. This was the first one I sent yesterday. Something must have happened with the IBM smtp server and caused my email to be held and outragously long time then sent. Sorry about this guys. On Tue, 01 Mar 2005 16:24:37 -0600, Jerone Young wrote: > We actually should have wmb() be defined as "asm volatile("":::"memory") > since we are not using out of order io. > > The patch attached removes all the instances and places the definitions > in libxc/xc.h as per the discussion last week between Anthony & Keir. > > Signed-off-by: Jerone Young > > On Tue, 2005-03-01 at 15:23 -0600, Anthony Liguori wrote: > > Keir Fraser wrote: > > > > > > > > On 1 Mar 2005, at 19:56, Jerone Young wrote: > > > > > >> I would like to discuss is this correct, dead wrong, or even > > >> needed at > > >> all? > > > > > > > > > x86/64 has proper barrier instructions -- see > > > include/asm-x86_64/system.h in Linux. It is from there that we should > > > pull our definitions. Barrier macros are defined in a few places in > > > the tools -- we ought to pull them all into one single header > > > incorporated by all tools that need it. > > > > I was just about to send this out myself :-) I think the consensus was > > to put them all in xc.h. I posted a patch recently that made everything > > include asm/system.h. All it should take is replacing asm/system.h with > > xc.h in the patch and then making the necessary changes to xc.h. > > > > For reference, the proper x86-64 barriers are: > > > > #define mb() asm volatile("mfence":::"memory") > > #define rmb() asm volatile("lfence":::"memory") > > #define wmb() asm volatile("sfence":::"memory") > > > > Regards, > > Anthony Liguori > > > -- > Jerone Young > Open Virtualization > IBM Linux Technology Center > jyoung5@us.ibm.com > 512-838-1157 (T/L: 678-1157) > > > ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click