qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC] qed: Add QEMU Enhanced Disk format


From: Anthony Liguori
Subject: Re: [Qemu-devel] [RFC] qed: Add QEMU Enhanced Disk format
Date: Fri, 10 Sep 2010 14:33:29 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.11) Gecko/20100713 Lightning/1.0b1 Thunderbird/3.0.6

On 09/10/2010 12:42 PM, Kevin Wolf wrote:
It bounces all buffers still and I still think it's synchronous
(although Kevin would know better).
Yes, it does bounce the buffers, though I'm looking into this anyway
because you raised concerns about unbounded allocations. (And it has
been on my todo list for a while, but there were always more urgent things)

What's synchronous in qcow2 is metadata access and COW. The guest
requests themselves are handled asynchronously.

I think we should differentiate between serialized requests and synchronous requests because I got a bit sloppy in my nomenclature.

Metadata reads and writes along with COW operations are synchronous in qcow2 IIUC. The data read/write is asynchronous.

Metadata is cached and if a cache hit is taken, then a full request can be asynchronous.

It's not clear to me if qcow2 can handle parallel requests though assuming that both requests don't require a cache miss for meta data. Does any meta data cache miss (read or write) cause a stall/flush of the request queue?

In QED, all operations are asynchronous including metadata cache misses and COW operations.

Multiple requests are handled in parallel with the exception of metadata writes. A metadata write will stall all future metadata cache miss fulfillment but they remain asynchronous. Requests that can be satisfied from the cache will be executed in parallel though.

In the future, we'll do something more sophisticated and allow multiple simultaneous metadata writes provided they aren't do the same L2/L1 location.

Regards,

Anthony Liguori



reply via email to

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