qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [PATCH] qcow2: do lazy allocation of the L2 cache


From: Alberto Garcia
Subject: Re: [Qemu-block] [PATCH] qcow2: do lazy allocation of the L2 cache
Date: Wed, 22 Apr 2015 16:37:15 +0200
User-agent: Notmuch/0.13.2 (http://notmuchmail.org) Emacs/23.2.1 (i486-pc-linux-gnu)

On Wed 22 Apr 2015 12:26:02 PM CEST, Stefan Hajnoczi wrote:

>> Large disk images need large L2 caches in order to maximize their I/O
>> performance. However setting a correct size for the cache is not
>> necessarily easy since apart from the image size, it also depends on
>> other factors like its usage patterns or whether it's part of a
>> backing chain.
>> 
>> In order to be able to set a very large cache size to cover the
>> worst-case scenarios and yet prevent an unnecessary waste of memory,
>> this patch modifies the qcow2 cache algorithm so the memory for each
>> entry is allocated only when it's actually needed.
>> 
>> This also improves the scenarios with smaller images: the current
>> default L2 cache size can map a whole 8GB disk, so those smaller than
>> that are allocating cache memory that can never be used.
>
> What measurable improvement does this patch make?
>
> Buffers allocated upfront are not touched, so they don't actually
> consume physical memory.

For a cache size of 128MB, the PSS is actually ~10MB larger without the
patch, which seems to come from posix_memalign().

But yeah, for smaller caches there's no difference. I should probably
add a timer to free unused cache entries after some expiration
time. What do you think?

Berto



reply via email to

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