[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + co
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments |
Date: |
Wed, 11 Nov 2009 20:08:08 +0200 |
User-agent: |
Mutt/1.5.19 (2009-01-05) |
On Thu, Nov 12, 2009 at 01:18:11AM +0800, Scott Tsai wrote:
> On Wed, Nov 11, 2009 at 10:08 PM, Michael S. Tsirkin <address@hidden> wrote:
> > On Wed, Nov 11, 2009 at 01:45:35PM +0000, Paul Brook wrote:
> >> If you don't need real barriers, then why does the kvm code have them?
> >
> > We need real barriers but AFAIK kvm does not have them :(
> > IOW: virtio is currently broken with kvm, and my patch did
> > not fix this. The comment that I added says as much.
>
> How about just using GCC's __sync__synchronize atomic builtin (if
> detected as available by configure)?
> It's a full memory barrier instead of just a write barrier, for x86,
> it generates the same code as the current Linux mb() implementation:
> "mfence" on x86_64
> "lock orl $0x0,(%esp)" on x86 unless -march is specified to a
> processor with "mfence".
> PPC could continue to use "eieio" while other architectures could just
> default to __sync_synchronize
Hmm, on x86 that's more expensive than it needs to be...
We can also ifdef platforms that we care about ...
> I do have a newbie question, when exactly would vrtio have to handle
> concurrent access from multiple threads?
> My current reading of the code suggests:
> 1. when CONFIG_IOTHREAD is true
> 2. when CONFIG_KVM is true and the guest machine has multiple CPUs
- Re: [Qemu-devel] [PATCH] qemu/virtio: make wmb compiler barrier + comments, Paul Brook, 2009/11/10
- [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Michael S. Tsirkin, 2009/11/11
- [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Paul Brook, 2009/11/11
- [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Michael S. Tsirkin, 2009/11/11
- [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Paul Brook, 2009/11/11
- [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Michael S. Tsirkin, 2009/11/11
- [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Paul Brook, 2009/11/11
- [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Michael S. Tsirkin, 2009/11/11
- Re: [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Paul Brook, 2009/11/11
- Re: [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Scott Tsai, 2009/11/11
- Re: [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments,
Michael S. Tsirkin <=
- Re: [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Michael S. Tsirkin, 2009/11/11
- Re: [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Scott Tsai, 2009/11/11
- Re: [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Michael S. Tsirkin, 2009/11/11
- Re: [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Jamie Lokier, 2009/11/12
- [Qemu-devel] Re: [PATCH] qemu/virtio: make wmb compiler barrier + comments, Michael S. Tsirkin, 2009/11/11