|
From: | Avi Kivity |
Subject: | Re: [Qemu-devel] [PATCH 0/3] block: Handle multiple write requests at once |
Date: | Tue, 01 Sep 2009 19:59:50 +0300 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Thunderbird/3.0b3 |
On 09/01/2009 06:52 PM, Christoph Hellwig wrote:
On Tue, Sep 01, 2009 at 03:51:49PM +0200, Kevin Wolf wrote:virtio often issues multiple requests in a row, but each one independently. If the block drivers knew all of the requests, they could optimize the way they handle the requests. See the description of patch 3 for how qcow2 can use this to avoid unnecessary writes to the disk.I think this interface is extremly awkward and the layering is wrong.
Can you explain why?
Everyone benefits from having one large instead of multiple small requests, so if we do get multiple sequential write requests we should always merged it at a high level even before starting to issue AIO, e.g. do it all in virtio-blk.
I don't think we should merge requests for the guest. If it issued multiple requests, that's what it wants.
I see two benefits to multiwrite:- handle layout issues in qcow2 (so we can allocate for all the requests, then submit them in parallel)
- submit multiple requests at once for linux-aio -- error compiling committee.c: too many arguments to function
[Prev in Thread] | Current Thread | [Next in Thread] |