Skip to content

Give the refcount cache the minimum possible size by default

Alberto Garcia qemu-devel 3 versions – Applied

Status from this message: Thanks, applied to my block-next branch:

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest2 patches 2 repliesApplied
  2. v22 patches 6 repliesSuperseded
  3. v12 patches 4 repliesSuperseded

Changes in v3 from the cover letter

- Mention that if you use internal snapshots you may want to increase the cache size [Max]

Patches in v3 Applied

#Subject and filesSizeRepliesApplied
1/2qcow2: Give the refcount cache the minimum possible size by defaultblock/qcow2.c block/qcow2.h tests/qemu-iotests/137.out+20 -170 replies
2/2docs: Document the new default sizes of the qcow2 cachesdocs/qcow2-cache.txt+16 -171 reply

Reviews trailers per patch

All 2 patches have a Reviewed-by or Acked-by.

PatchEric BlakeMax Reitz
1/2R-b R-b
2/2R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [Qemu-devel] [PATCH v3 0/2] Give the refcount cache the minimum possible size by default

Hi,

we talked about this the other day, so here are the patches to change the default cache sizes in qcow2.

Without this patch:

* refcount-cache-size = l2-cache-size / 4

unless otherwise specified by the user. This is wasteful, the refcount cache is accessed sequentially during normal I/O, so there's no point in caching more tables. I measured the effect on the refcount cache size when populating an empty qcow2 image using random writes, and there's no difference between having the minimum or the maximum sizes(*).

With this patch:

* refcount-cache-size is always 4 clusters by default (the minimum)

* If "cache-size" is set then l2-cache-size is set to the maximum if possible (disk_size * 8 / cluster_size) and the remainder is assigned to the refcount cache.

Regards,

Berto

(*) there is, actually: having a very large cache can even make the
I/O slightly slower, because the larger the cache the longer it takes longer to find a cached entry. I only noticed this under tmpfs anyway.

Changes:
v3:
- Mention that if you use internal snapshots you may want to increase the cache size [Max]

v2: https://lists.gnu.org/archive/html/qemu-block/2018-03/msg00822.html
- s/overriden/overridden/ (in both patches)

v1: https://lists.gnu.org/archive/html/qemu-block/2018-03/msg00709.html
- Initial release

Alberto Garcia (2):
qcow2: Give the refcount cache the minimum possible size by default
docs: Document the new default sizes of the qcow2 caches

 block/qcow2.c              | 31 +++++++++++++++++++------------
 block/qcow2.h              |  4 ----
 docs/qcow2-cache.txt       | 33 ++++++++++++++++-----------------
 tests/qemu-iotests/137.out |  2 +-
 4 files changed, 36 insertions(+), 34 deletions(-)
Signature · 1 line
2.11.0