Skip to content

qcow2 L2/refcount cache improvements

Alberto Garcia qemu-devel 3 versions – Applied

Status from this message: Thanks, applied patches 1-7. As discussed on IRC, I'm waiting for a new

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest8 patches 6 repliesApplied
  2. v27 patches 18 repliesSuperseded
  3. v16 patches 17 repliesSuperseded

Changes in v3 from the cover letter

- Removed a dead comment in patch #3
- New document explaining how to configure the cache sizes

Patches in v3 Applied

#Subject and filesSizeRepliesApplied
1/8qcow2: use one single memory block for the L2/refcount cache tablesblock/qcow2-cache.c block/qcow2-cluster.c block/qcow2-refcount.c +1 more+39 -390 replies
2/8qcow2: simplify qcow2_cache_put() and qcow2_cache_entry_mark_dirty()block/qcow2-cache.c+15 -170 replies
3/8qcow2: use an LRU algorithm to replace entries from the L2 cacheblock/qcow2-cache.c+15 -180 replies
4/8qcow2: remove qcow2_cache_find_entry_to_replace()block/qcow2-cache.c+16 -290 replies
5/8qcow2: use a hash to look for entries in the L2 cacheblock/qcow2-cache.c+7 -20 replies
6/8qcow2: make qcow2_cache_put() a void functionblock/qcow2-cache.c block/qcow2-cluster.c block/qcow2-refcount.c +1 more+17 -711 reply
7/8qcow2: style fixes in qcow2-cache.cblock/qcow2-cache.c+3 -30 replies
8/8docs: document how to configure the qcow2 L2/refcount cachesdocs/qcow2-cache.txt+117 -04 replies

Reviews trailers per patch

7 of 8 patches have a Reviewed-by or Acked-by.

PatchStefan HajnocziMax Reitz
1/8R-b R-b
2/8R-b R-b
3/8R-b
4/8R-b R-b
5/8R-b
6/8R-b R-b
7/8R-b R-b
8/8

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/8] qcow2 L2/refcount cache improvements

New version of the qcow2 cache patches:

v3:
- Removed a dead comment in patch #3
- New document explaining how to configure the cache sizes

v2: https://lists.nongnu.org/archive/html/qemu-devel/2015-05/msg00833.html
- Don't do pointer arithmetic on void *
- Rename table_addr() to qcow2_cache_get_table_addr()
- Add qcow2_cache_get_table_idx()
- Cast cache size to size_t to prevent overflows
- Make qcow2_cache_put() a void function
- Don't store the cluster size in the cache, get it from the BDS instead

v1: https://lists.nongnu.org/archive/html/qemu-devel/2015-04/msg04355.html

Regards,

Berto

Alberto Garcia (8):
qcow2: use one single memory block for the L2/refcount cache tables
qcow2: simplify qcow2_cache_put() and qcow2_cache_entry_mark_dirty()
qcow2: use an LRU algorithm to replace entries from the L2 cache
qcow2: remove qcow2_cache_find_entry_to_replace()
qcow2: use a hash to look for entries in the L2 cache
qcow2: make qcow2_cache_put() a void function
qcow2: style fixes in qcow2-cache.c
docs: document how to configure the qcow2 L2/refcount caches

 block/qcow2-cache.c    | 171 ++++++++++++++++++++++---------------------------
 block/qcow2-cluster.c  |  62 +++++-------------
 block/qcow2-refcount.c |  37 +++--------
 block/qcow2.h          |   5 +-
 docs/qcow2-cache.txt   | 117 +++++++++++++++++++++++++++++++++
 5 files changed, 221 insertions(+), 171 deletions(-)
 create mode 100644 docs/qcow2-cache.txt
Signature · 1 line
2.1.4