[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Using virtio for inter-VM communication
From: |
Rusty Russell |
Subject: |
Re: [Qemu-devel] Using virtio for inter-VM communication |
Date: |
Fri, 13 Jun 2014 10:17:37 +0930 |
User-agent: |
Notmuch/0.17 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-pc-linux-gnu) |
Jan Kiszka <address@hidden> writes:
> On 2014-06-12 04:27, Rusty Russell wrote:
>> Henning Schild <address@hidden> writes:
>> It was also never implemented, and remains a thought experiment.
>> However, implementing it in lguest should be fairly easy.
>
> The reason why a trusted helper, i.e. additional logic in the
> hypervisor, is not our favorite solution is that we'd like to keep the
> hypervisor as small as possible. I wouldn't exclude such an approach
> categorically, but we have to weigh the costs (lines of code, additional
> hypervisor interface) carefully against the gain (existing
> specifications and guest driver infrastructure).
Reasonable, but I think you'll find it is about the minimal
implementation in practice. Unfortunately, I don't have time during the
next 6 months to implement it myself :(
> Back to VIRTIO_F_RING_SHMEM_ADDR (which you once brought up in an MCA
> working group discussion): What speaks against introducing an
> alternative encoding of addresses inside virtio data structures? The
> idea of this flag was to replace guest-physical addresses with offsets
> into a shared memory region associated with or part of a virtio
> device.
We would also need a way of defining the shared memory region. But
that's not the problem. If such a feature is not accepted by the guest?
How to you fall back?
We don't add features which unmake the standard.
> That would preserve zero-copy capabilities (as long as you can work
> against the shared mem directly, e.g. doing DMA from a physical NIC or
> storage device into it) and keep the hypervisor out of the loop.
This seems ill thought out. How will you program a NIC via the virtio
protocol without a hypervisor? And how will you make it safe? You'll
need an IOMMU. But if you have an IOMMU you don't need shared memory.
> Is it
> too invasive to existing infrastructure or does it have some other pitfalls?
You'll have to convince every vendor to implement your addition to the
standard. Which is easier than inventing a completely new system, but
it's not quite virtio.
Cheers,
Rusty.
- Re: [Qemu-devel] Why I advise against using ivshmem, (continued)
- Re: [Qemu-devel] Why I advise against using ivshmem, Jobin Raju George, 2014/06/13
- Re: [Qemu-devel] Why I advise against using ivshmem, Paolo Bonzini, 2014/06/13
- Re: [Qemu-devel] Why I advise against using ivshmem, Vincent JARDIN, 2014/06/13
- Re: [Qemu-devel] Why I advise against using ivshmem, Paolo Bonzini, 2014/06/13
- Re: [Qemu-devel] Why I advise against using ivshmem, Vincent JARDIN, 2014/06/14
- Re: [Qemu-devel] Why I advise against using ivshmem, Stefan Hajnoczi, 2014/06/16
- Re: [Qemu-devel] Why I advise against using ivshmem, Olivier MATZ, 2014/06/13
- Re: [Qemu-devel] Why I advise against using ivshmem, Jobin Raju George, 2014/06/13
Re: [Qemu-devel] Using virtio for inter-VM communication, Rusty Russell, 2014/06/11
- Re: [Qemu-devel] Using virtio for inter-VM communication, Jan Kiszka, 2014/06/12
- Re: [Qemu-devel] Using virtio for inter-VM communication,
Rusty Russell <=
- Re: [Qemu-devel] Using virtio for inter-VM communication, Jan Kiszka, 2014/06/13
- Re: [Qemu-devel] Using virtio for inter-VM communication, Paolo Bonzini, 2014/06/13
- Re: [Qemu-devel] Using virtio for inter-VM communication, Jan Kiszka, 2014/06/15
- Re: [Qemu-devel] Using virtio for inter-VM communication, Paolo Bonzini, 2014/06/17
- Re: [Qemu-devel] Using virtio for inter-VM communication, Jan Kiszka, 2014/06/17