[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] qcow2: allocate cluster_cache/cluster_data o
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v2] qcow2: allocate cluster_cache/cluster_data on demand |
Date: |
Wed, 23 Aug 2017 14:36:51 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 08/21/2017 08:55 AM, Stefan Hajnoczi wrote:
> Most qcow2 files are uncompressed so it is wasteful to allocate (32 + 1)
> * cluster_size + 512 bytes upfront. Allocate s->cluster_cache and
> s->cluster_data when the first read operation is performance on a
> compressed cluster.
>
> The buffers are freed in .bdrv_close(). .bdrv_open() no longer has any
> code paths that can allocate these buffers, so remove the free functions
> in the error code path.
>
> This patch can result in significant memory savings when many qcow2
> disks are attached or backing file chains are long:
>
> Before 12.81% (1,023,193,088B)
> After 5.36% (393,893,888B)
>
> Reported-by: Alexey Kardashevskiy <address@hidden>
> Tested-by: Alexey Kardashevskiy <address@hidden>
> Cc: Kevin Wolf <address@hidden>
> Signed-off-by: Stefan Hajnoczi <address@hidden>
> ---
Reviewed-by: Eric Blake <address@hidden>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature