[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 07/15] dataplane: use object pool to speed up al
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 07/15] dataplane: use object pool to speed up allocation for virtio blk request |
Date: |
Thu, 31 Jul 2014 11:18:02 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 |
Il 31/07/2014 05:22, Ming Lei ha scritto:
>> >
>> > The problem is that g_slice here is not using the slab-style allocator
>> > because the object is larger than roughly 500 bytes. One solution would
>> > be to make virtqueue_pop/vring_pop allocate a VirtQueueElement of the
>> > right size (and virtqueue_push/vring_push free it), as mentioned in the
>> > review of patch 8.
> Unluckily both iovec and addr array can't be fitted into 500 bytes, :-(
> Not mention all users of VirtQueueElement need to be changed too,
> I hate to make that work involved in this patchset, :-)
Well, the point of dataplane was not just to get maximum iops. It was
also to provide guidance in the work necessary to improve the code and
get maximum iops without special-casing everything. This can be a lot
of work indeed.
>> >
>> > However, I now remembered that VirtQueueElement is a mess because it's
>> > serialized directly into the migration state. :( So you basically
>> > cannot change it without mucking with migration. Please leave out patch
>> > 8 for now.
> save_device code serializes elem in this way:
>
> qemu_put_buffer(f, (unsigned char *)&req->elem,
> sizeof(VirtQueueElement));
>
> so I am wondering why this patch may break migration.
Because you change the on-wire format and break migration from 2.1 to
2.2. Sorry, I wasn't clear enough.
Paolo
> And in my test live migration can survive with the patch.
>
- Re: [Qemu-devel] [PATCH 01/15] qemu coroutine: support bypass mode, (continued)
- [Qemu-devel] [PATCH 02/15] qemu aio: prepare for supporting selective bypass coroutine, Ming Lei, 2014/07/30
- [Qemu-devel] [PATCH 03/15] block: support to bypass qemu coroutinue, Ming Lei, 2014/07/30
- [Qemu-devel] [PATCH 04/15] Revert "raw-posix: drop raw_get_aio_fd() since it is no longer used", Ming Lei, 2014/07/30
- [Qemu-devel] [PATCH 05/15] dataplane: enable selective bypassing coroutine, Ming Lei, 2014/07/30
- [Qemu-devel] [PATCH 06/15] qemu/obj_pool.h: introduce object allocation pool, Ming Lei, 2014/07/30
- [Qemu-devel] [PATCH 07/15] dataplane: use object pool to speed up allocation for virtio blk request, Ming Lei, 2014/07/30
- [Qemu-devel] [PATCH 08/15] virtio: decrease size of VirtQueueElement, Ming Lei, 2014/07/30
[Qemu-devel] [PATCH 09/15] linux-aio: fix submit aio as a batch, Ming Lei, 2014/07/30