[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access fun
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access functions |
Date: |
Tue, 22 May 2012 01:44:37 +0300 |
On Mon, May 21, 2012 at 05:31:06PM -0500, Anthony Liguori wrote:
> On 05/21/2012 05:26 PM, Benjamin Herrenschmidt wrote:
> >On Mon, 2012-05-21 at 17:18 -0500, Anthony Liguori wrote:
> >>But this isn't what this series is about.
> >>
> >>This series is only attempting to make sure that writes are ordered
> >>with respect
> >>to other writes in main memory.
> >
> >Actually, it applies to both reads and writes. They can't pass each
> >other either and that can be fairly important.
>
> That's fine but that's a detail of the bus.
>
> >It's in fact the main contention point because if it was only writes we
> >could just use wmb and be done with it (that's a nop on x86).
> >
> >Because we are trying to order everything (and specifically store
> >followed by a load), we need a full barrier which is more expensive on
> >x86.
>
> I think the thing to do is make the barrier implemented in the dma
> API and allow it to be overridden by the bus. The default
> implementation should be a full barrier.
I think what's called for is what Ben proposed: track
last transaction and use the appropriate barrier.
> If we can establish that the bus guarantees a weaker ordering
> guarantee, a bus could override the default implementation and do
> something weaker.
>
> Regards,
>
> Anthony Liguori
OK. Just not another level of indirect function callbacks please. Make
it a library so each bus can do the right thing. There are not so many
buses.
--
MST
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access functions, (continued)
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access functions, Paolo Bonzini, 2012/05/21
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access function, Benjamin Herrenschmidt, 2012/05/21
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access function, Michael S. Tsirkin, 2012/05/21
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access function, Benjamin Herrenschmidt, 2012/05/21
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access function, Michael S. Tsirkin, 2012/05/22
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access function, Benjamin Herrenschmidt, 2012/05/21
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access function, Rusty Russell, 2012/05/22
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access functions, Anthony Liguori, 2012/05/21
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access functions, Benjamin Herrenschmidt, 2012/05/21
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access functions, Anthony Liguori, 2012/05/21
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access functions,
Michael S. Tsirkin <=
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access functions, Benjamin Herrenschmidt, 2012/05/21
- [Qemu-devel] [PATCH] Add a memory barrier to DMA functions, Benjamin Herrenschmidt, 2012/05/22
- Re: [Qemu-devel] [PATCH] Add a memory barrier to DMA functions, Benjamin Herrenschmidt, 2012/05/22
- Re: [Qemu-devel] [PATCH] Add a memory barrier to DMA functions, Benjamin Herrenschmidt, 2012/05/22
- Re: [Qemu-devel] [PATCH] Add a memory barrier to DMA functions, Michael S. Tsirkin, 2012/05/22
- Re: [Qemu-devel] [PATCH] Add a memory barrier to DMA functions, Benjamin Herrenschmidt, 2012/05/22
- Re: [Qemu-devel] [PATCH] Add a memory barrier to DMA functions, Michael S. Tsirkin, 2012/05/22
- Re: [Qemu-devel] [PATCH] Add a memory barrier to DMA functions, Benjamin Herrenschmidt, 2012/05/22
- Re: [Qemu-devel] [PATCH] Add a memory barrier to DMA functions, Anthony Liguori, 2012/05/22
- Re: [Qemu-devel] [PATCH] Add a memory barrier to guest memory access functions, Michael S. Tsirkin, 2012/05/21