From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47786) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SWcWj-0008GE-It for qemu-devel@nongnu.org; Mon, 21 May 2012 20:00:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SWcWh-0007mF-Uu for qemu-devel@nongnu.org; Mon, 21 May 2012 20:00:37 -0400 Received: from gate.crashing.org ([63.228.1.57]:56760) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SWcWh-0007lg-FR for qemu-devel@nongnu.org; Mon, 21 May 2012 20:00:35 -0400 Message-ID: <1337644811.2779.131.camel@pasglop> From: Benjamin Herrenschmidt Date: Tue, 22 May 2012 10:00:11 +1000 In-Reply-To: <20120521222243.GI17031@redhat.com> References: <20120521083132.GI4674@redhat.com> <1337590688.2779.37.camel@pasglop> <1337591230.2779.42.camel@pasglop> <1337591787.2779.48.camel@pasglop> <20120521093440.GK4674@redhat.com> <1337594003.2779.56.camel@pasglop> <20120521103101.GL4674@redhat.com> <1337600758.2779.90.camel@pasglop> <20120521121824.GA8666@redhat.com> <1337637497.2779.114.camel@pasglop> <20120521222243.GI17031@redhat.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access function List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Paolo Bonzini , qemu-devel@nongnu.org, Anthony Liguori , David Gibson On Tue, 2012-05-22 at 01:22 +0300, Michael S. Tsirkin wrote: > > Again, from which originator ? From a given initiator, nothing > bypasses > > anything, so the right thing to do here is a full mb(). However, I > > suspect what you are talking about here is read -responses- not > > bypassing writes in the direction of the response (ie, the > "flushing" > > semantic of reads) which is a different matter. > > No. My spec says: > A3, A4 > A Posted Request must be able to pass Non-Posted Requests to avoid > deadlocks. An additional note about that one: It only applies obviously if the initiator doesn't wait for the read response before shooting the write. Most devices actually do wait. Here too, we would have to explicitly make sure if what is the right semantic on an individual device basis. Ben.