qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [regression] dataplane: throughout -40% by commit 580b6


From: Ming Lei
Subject: Re: [Qemu-devel] [regression] dataplane: throughout -40% by commit 580b6b2aa2
Date: Fri, 27 Jun 2014 20:35:59 +0800

On Fri, Jun 27, 2014 at 2:23 PM, Kevin Wolf <address@hidden> wrote:
> Am 27.06.2014 um 06:59 hat Paolo Bonzini geschrieben:
>> Il 27/06/2014 03:15, Ming Lei ha scritto:
>> >On Thu, Jun 26, 2014 at 11:57 PM, Paolo Bonzini <address@hidden> wrote:
>> >>We can implement (advisory) calls like bdrv_plug/bdrv_unplug in order to
>> >>restore the previous levels of performance.
>> >
>> >Yes, that is also what I am thinking, or interfaces like bdrv_queue_io()
>> >and bdrv_submit_io(), which may match with aio interfaces.
>>
>> Would you like to try preparing a patch?
>
> Note that there is already an interface in block.c that takes multiple
> requests at once, bdrv_aio_multiwrite(). It is currently used by

It isn't good because aio supports to handle both read and
write requests in one submit, even supports different files.

> virtio-blk, even though not in dataplane mode. It also submits
> individual requests to the block drivers currently, so effectively it
> doesn't make a difference, just the problem occurs in the block layer
> instead of the device.
>
> We should either improve bdrv_aio_multiwrite() to submit the requests in
> a batch to the block drivers, add a bdrv_aio_multiwrite() and use it for
> dataplane as well (possibly with a flag for disabling the request merging
> if we want to keep the current behaviour for dataplane); or, if we
> consider it a bad interface, replace it altogether with the new thing
> even for normal virtio-blk.
>
> If this makes a difference for dataplane, it probably makes a difference
> for all block devices.

Yes, I think so.


Thanks,
-- 
Ming Lei



reply via email to

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