Commit e957b50b authored by Leonid Bloch's avatar Leonid Bloch Committed by Kevin Wolf
Browse files

qcow2: Set the default cache-clean-interval to 10 minutes



The default cache-clean-interval is set to 10 minutes, in order to lower
the overhead of the qcow2 caches (before the default was 0, i.e.
disabled).

* For non-Linux platforms the default is kept at 0, because
  cache-clean-interval is not supported there yet.

Signed-off-by: default avatarLeonid Bloch <lbloch@janustech.com>
Reviewed-by: default avatarAlberto Garcia <berto@igalia.com>
Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
parent 45b4949c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -944,7 +944,7 @@ static int qcow2_update_options_prepare(BlockDriverState *bs,
    /* New interval for cache cleanup timer */
    r->cache_clean_interval =
        qemu_opt_get_number(opts, QCOW2_OPT_CACHE_CLEAN_INTERVAL,
                            s->cache_clean_interval);
                            DEFAULT_CACHE_CLEAN_INTERVAL);
#ifndef CONFIG_LINUX
    if (r->cache_clean_interval != 0) {
        error_setg(errp, QCOW2_OPT_CACHE_CLEAN_INTERVAL
+3 −1
Original line number Diff line number Diff line
@@ -76,13 +76,15 @@

#ifdef CONFIG_LINUX
#define DEFAULT_L2_CACHE_MAX_SIZE S_32MiB
#define DEFAULT_CACHE_CLEAN_INTERVAL 600  /* seconds */
#else
#define DEFAULT_L2_CACHE_MAX_SIZE S_8MiB
/* Cache clean interval is currently available only on Linux, so must be 0 */
#define DEFAULT_CACHE_CLEAN_INTERVAL 0
#endif

#define DEFAULT_CLUSTER_SIZE S_64KiB


#define QCOW2_OPT_LAZY_REFCOUNTS "lazy-refcounts"
#define QCOW2_OPT_DISCARD_REQUEST "pass-discard-request"
#define QCOW2_OPT_DISCARD_SNAPSHOT "pass-discard-snapshot"
+2 −2
Original line number Diff line number Diff line
@@ -210,8 +210,8 @@ This example removes all unused cache entries every 15 minutes:

   -drive file=hd.qcow2,cache-clean-interval=900

If unset, the default value for this parameter is 0 and it disables
this feature.
If unset, the default value for this parameter is 600. Setting it to 0
disables this feature.

Note that this functionality currently relies on the MADV_DONTNEED
argument for madvise() to actually free the memory. This is a
+2 −1
Original line number Diff line number Diff line
@@ -2895,7 +2895,8 @@
#
# @cache-clean-interval:  clean unused entries in the L2 and refcount
#                         caches. The interval is in seconds. The default value
#                         is 0 and it disables this feature (since 2.5)
#                         is 600, and 0 disables this feature. (since 2.5)
#
# @encrypt:               Image decryption options. Mandatory for
#                         encrypted images, except when doing a metadata-only
#                         probe of the image. (since 2.10)
+1 −1
Original line number Diff line number Diff line
@@ -747,7 +747,7 @@ it which is not used for the L2 cache)

@item cache-clean-interval
Clean unused entries in the L2 and refcount caches. The interval is in seconds.
The default value is 0 and it disables this feature.
The default value is 600. Setting it to 0 disables this feature.

@item pass-discard-request
Whether discard requests to the qcow2 device should be forwarded to the data