[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 04/11] dataplane: add virtqueue vring code
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v5 04/11] dataplane: add virtqueue vring code |
Date: |
Fri, 7 Dec 2012 15:46:15 +0100 |
On Fri, Dec 7, 2012 at 3:07 PM, Kevin Wolf <address@hidden> wrote:
> Am 05.12.2012 21:47, schrieb Stefan Hajnoczi:
>> The virtio-blk-data-plane cannot access memory using the usual QEMU
>> functions since it executes outside the global mutex and the memory APIs
>> are this time are not thread-safe.
>>
>> This patch introduces a virtqueue module based on the kernel's vhost
>> vring code. The trick is that we map guest memory ahead of time and
>> access it cheaply outside the global mutex.
>>
>> Once the hardware emulation code can execute outside the global mutex it
>> will be possible to drop this code.
>>
>> Signed-off-by: Stefan Hajnoczi <address@hidden>
>> ---
>> hw/Makefile.objs | 2 +-
>> hw/dataplane/Makefile.objs | 2 +-
>> hw/dataplane/vring.c | 361
>> +++++++++++++++++++++++++++++++++++++++++++++
>> hw/dataplane/vring.h | 63 ++++++++
>> trace-events | 3 +
>> 5 files changed, 429 insertions(+), 2 deletions(-)
>> create mode 100644 hw/dataplane/vring.c
>> create mode 100644 hw/dataplane/vring.h
>>
>> diff --git a/hw/Makefile.objs b/hw/Makefile.objs
>> index d581d8d..cec84bc 100644
>> --- a/hw/Makefile.objs
>> +++ b/hw/Makefile.objs
>> @@ -1,4 +1,4 @@
>> -common-obj-y = usb/ ide/
>> +common-obj-y = usb/ ide/ dataplane/
>> common-obj-y += loader.o
>> common-obj-$(CONFIG_VIRTIO) += virtio-console.o
>> common-obj-$(CONFIG_VIRTIO) += virtio-rng.o
>
> Shouldn't this hunk be in patch 3?
Yes, I'll move it.
Stefan
- [Qemu-devel] [PATCH v5 00/11] virtio: virtio-blk data plane, Stefan Hajnoczi, 2012/12/05
- [Qemu-devel] [PATCH v5 01/11] raw-posix: add raw_get_aio_fd() for virtio-blk-data-plane, Stefan Hajnoczi, 2012/12/05
- [Qemu-devel] [PATCH v5 02/11] configure: add CONFIG_VIRTIO_BLK_DATA_PLANE, Stefan Hajnoczi, 2012/12/05
- [Qemu-devel] [PATCH v5 03/11] dataplane: add host memory mapping code, Stefan Hajnoczi, 2012/12/05
- [Qemu-devel] [PATCH v5 04/11] dataplane: add virtqueue vring code, Stefan Hajnoczi, 2012/12/05
- [Qemu-devel] [PATCH v5 05/11] dataplane: add event loop, Stefan Hajnoczi, 2012/12/05
- [Qemu-devel] [PATCH v5 06/11] dataplane: add Linux AIO request queue, Stefan Hajnoczi, 2012/12/05
- [Qemu-devel] [PATCH v5 07/11] iov: add iov_discard() to remove data, Stefan Hajnoczi, 2012/12/05
- [Qemu-devel] [PATCH v5 11/11] virtio-blk: add x-data-plane=on|off performance feature, Stefan Hajnoczi, 2012/12/05
- [Qemu-devel] [PATCH v5 09/11] iov: add qemu_iovec_concat_iov(), Stefan Hajnoczi, 2012/12/05
- [Qemu-devel] [PATCH v5 08/11] test-iov: add iov_discard() testcase, Stefan Hajnoczi, 2012/12/05