qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH -V3 09/32] virtio-9p: Implement P9_TWRITE/ Threa


From: Avi Kivity
Subject: Re: [Qemu-devel] [PATCH -V3 09/32] virtio-9p: Implement P9_TWRITE/ Thread model in QEMU
Date: Tue, 30 Mar 2010 17:23:33 +0300
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.8) Gecko/20100301 Fedora/3.0.3-1.fc12 Thunderbird/3.0.3

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?



If it were just one operation in qcow2, threading would be a big overkill. But threading also fixes all of the other format drivers, and makes working on qcow2 easier.


Yeah, I think the only question is whether to stick threading in the generic block layer or within qcow2.

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).

--
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.





reply via email to

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