qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC] block-queue: Delay and batch metadata writes


From: Kevin Wolf
Subject: Re: [Qemu-devel] [RFC] block-queue: Delay and batch metadata writes
Date: Mon, 20 Sep 2010 17:46:02 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.12) Gecko/20100907 Fedora/3.0.7-1.fc12 Thunderbird/3.0.7

Am 20.09.2010 17:33, schrieb Avi Kivity:
>   On 09/20/2010 05:08 PM, Kevin Wolf wrote:
>>>
>>>  Let's expand it a bit more:
>>>
>>>  1. Update refcount table
>>>  2. bdrv_flush
>>>  3. Update L2 entry
>>>  4. Write data to disk
>>>  5. Report write complete
>>>
>>>  I'm struggling to understand how a thread helps out.
>>
>> This sequence becomes:
>>
>> 1. Update refcount table
>> 2. Write data to disk
>> 3. Report write complete
>>
>> And only later:
>>
>> 4. Update L2 entry
>> 5. bdrv_flush (possibly merged with other flushes)
>>
> 
> The L2 update needs to happen after we're sure the refcount update is 
> stable, so need a bdrv_flush between them.
> 
> Still, the basic idea looks sound.  You can do many refcount updates, 
> flush, many L2 updates, flush.

Oops, my bad. Swap 4 and 5, that's what I meant. We don't need a flush
after writing the L2 entry until we need to flush for other reasons.

Kevin



reply via email to

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