On Wed, Jul 30, 2014 at 9:45 PM, Paolo Bonzini <pbonz...@redhat.com> wrote:
> Il 30/07/2014 13:39, Ming Lei ha scritto:
>> This patch introduces several APIs for supporting bypass qemu coroutine
>> in case of being not necessary and for performance's sake.
>
> No, this is wrong.  Dataplane *must* use the same code as non-dataplane,
> anything else is a step backwards.

As we saw, coroutine has brought up performance regression
on dataplane, and it isn't necessary to use co in some cases, is it?

>
> If you want to bypass coroutines, bdrv_aio_readv/writev must detect the
> conditions that allow doing that and call the bdrv_aio_readv/writev
> directly.

That is easy to detect, please see the 5th patch.

>
> To begin with, have you benchmarked QEMU and can you provide a trace of
> *where* the coroutine overhead lies?

I guess it may be caused by the stack switch, at least in one of
my box, bypassing co can improve throughput by ~7%, and by
~15% in another box.

Thanks,

Reply via email to