|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [PATCH -V3 09/32] virtio-9p: Implement P9_TWRITE/ Thread model in QEMU |
Date: | Tue, 30 Mar 2010 09:59:24 -0500 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091209 Fedora/3.0-4.fc12 Lightning/1.0pre Thunderbird/3.0 |
On 03/30/2010 09:23 AM, Avi Kivity wrote:
On 03/30/2010 05:07 PM, Anthony Liguori wrote:On 03/30/2010 09:03 AM, Avi Kivity wrote:So it looks like we really only have one operation (qcow2_alloc_cluster_link_l2) that blocks. Do we really think that it's sufficiently difficult to make this function asynchronous that it justifies threading the block layer?There are also tons of bdrv_pread()s and bdrv_pwrite()s. Isn't growing some of the tables synchronous? how about creating a snapshot?Eh, that ruins my whole argument.But we can keep on arguing regardless, yes?
Of course :-)
Both. My plan is: (1) some generic infrastructure(2) kit that turns a synchronous block format driver into an asynchronous one using (1), limited to one outstanding request (3) adaptations to qcow2 using (1) to make it fully asynchronous, capable of multiple outstanding requests (except when it issues a sync request)I've mostly done (1) and am contemplating (2).
Sounds reasonable. Regards, Anthony Liguori
[Prev in Thread] | Current Thread | [Next in Thread] |