qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 00/14] dataplane: optimization and multi virtque


From: Ming Lei
Subject: Re: [Qemu-devel] [PATCH 00/14] dataplane: optimization and multi virtqueue support
Date: Mon, 4 Aug 2014 18:45:50 +0800

On Mon, Aug 4, 2014 at 6:16 PM, Stefan Hajnoczi <address@hidden> wrote:
> On Wed, Jul 30, 2014 at 07:39:33PM +0800, Ming Lei wrote:
>> These patches bring up below 4 changes:
>>
>>         - introduce selective coroutine bypass mechanism
>>         for improving performance of virtio-blk dataplane with
>>         raw format image
>>
>>         - introduce object allocation pool and apply it to
>>         virtio-blk dataplane for improving its performance
>>
>>         - linux-aio changes: fixing for cases of -EAGAIN and partial
>>         completion, increase max events to 256, and remove one unuseful
>>         fields in 'struct qemu_laiocb'
>>
>>         - support multi virtqueue for virtio-blk dataplane
>
> Please split this series into separate series.
>
> Patch 1-5 - block layer coroutine bypass
>
>   These patches are hacky and not correct yet (e.g. you cannot enable
>   bypass on a per-AioContext basis since multiple devices can share an
>   IOThread's AioContext and some of them might not be raw, you are

Good point, so the 'bypass' info should be moved to BlockDriverState.

>   invoking acb's cb() directly instead of via a BH so there may be
>   reentrancy).

Yes, as Paolo pointed too, I will change to run acb's cb() via a BH
in v1 patchset.

>
>   It would be great if cleaning up the block.c aio->co emulation layers
>   could improve performance.

That is a good idea too.

But from current profiling, coroutine is surely one of main causes for
the performance regression.

Thanks,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]