mirror of https://github.com/xemu-project/xemu.git
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: Leonid Bloch <lbloch@janustech.com> Reviewed-by: Alberto Garcia <berto@igalia.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
45b4949c7b
commit
e957b50b8d
|
@ -944,7 +944,7 @@ static int qcow2_update_options_prepare(BlockDriverState *bs,
|
||||||
/* New interval for cache cleanup timer */
|
/* New interval for cache cleanup timer */
|
||||||
r->cache_clean_interval =
|
r->cache_clean_interval =
|
||||||
qemu_opt_get_number(opts, QCOW2_OPT_CACHE_CLEAN_INTERVAL,
|
qemu_opt_get_number(opts, QCOW2_OPT_CACHE_CLEAN_INTERVAL,
|
||||||
s->cache_clean_interval);
|
DEFAULT_CACHE_CLEAN_INTERVAL);
|
||||||
#ifndef CONFIG_LINUX
|
#ifndef CONFIG_LINUX
|
||||||
if (r->cache_clean_interval != 0) {
|
if (r->cache_clean_interval != 0) {
|
||||||
error_setg(errp, QCOW2_OPT_CACHE_CLEAN_INTERVAL
|
error_setg(errp, QCOW2_OPT_CACHE_CLEAN_INTERVAL
|
||||||
|
|
|
@ -76,13 +76,15 @@
|
||||||
|
|
||||||
#ifdef CONFIG_LINUX
|
#ifdef CONFIG_LINUX
|
||||||
#define DEFAULT_L2_CACHE_MAX_SIZE S_32MiB
|
#define DEFAULT_L2_CACHE_MAX_SIZE S_32MiB
|
||||||
|
#define DEFAULT_CACHE_CLEAN_INTERVAL 600 /* seconds */
|
||||||
#else
|
#else
|
||||||
#define DEFAULT_L2_CACHE_MAX_SIZE S_8MiB
|
#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
|
#endif
|
||||||
|
|
||||||
#define DEFAULT_CLUSTER_SIZE S_64KiB
|
#define DEFAULT_CLUSTER_SIZE S_64KiB
|
||||||
|
|
||||||
|
|
||||||
#define QCOW2_OPT_LAZY_REFCOUNTS "lazy-refcounts"
|
#define QCOW2_OPT_LAZY_REFCOUNTS "lazy-refcounts"
|
||||||
#define QCOW2_OPT_DISCARD_REQUEST "pass-discard-request"
|
#define QCOW2_OPT_DISCARD_REQUEST "pass-discard-request"
|
||||||
#define QCOW2_OPT_DISCARD_SNAPSHOT "pass-discard-snapshot"
|
#define QCOW2_OPT_DISCARD_SNAPSHOT "pass-discard-snapshot"
|
||||||
|
|
|
@ -210,8 +210,8 @@ This example removes all unused cache entries every 15 minutes:
|
||||||
|
|
||||||
-drive file=hd.qcow2,cache-clean-interval=900
|
-drive file=hd.qcow2,cache-clean-interval=900
|
||||||
|
|
||||||
If unset, the default value for this parameter is 0 and it disables
|
If unset, the default value for this parameter is 600. Setting it to 0
|
||||||
this feature.
|
disables this feature.
|
||||||
|
|
||||||
Note that this functionality currently relies on the MADV_DONTNEED
|
Note that this functionality currently relies on the MADV_DONTNEED
|
||||||
argument for madvise() to actually free the memory. This is a
|
argument for madvise() to actually free the memory. This is a
|
||||||
|
|
|
@ -2895,7 +2895,8 @@
|
||||||
#
|
#
|
||||||
# @cache-clean-interval: clean unused entries in the L2 and refcount
|
# @cache-clean-interval: clean unused entries in the L2 and refcount
|
||||||
# caches. The interval is in seconds. The default value
|
# 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
|
# @encrypt: Image decryption options. Mandatory for
|
||||||
# encrypted images, except when doing a metadata-only
|
# encrypted images, except when doing a metadata-only
|
||||||
# probe of the image. (since 2.10)
|
# probe of the image. (since 2.10)
|
||||||
|
|
|
@ -747,7 +747,7 @@ it which is not used for the L2 cache)
|
||||||
|
|
||||||
@item cache-clean-interval
|
@item cache-clean-interval
|
||||||
Clean unused entries in the L2 and refcount caches. The interval is in seconds.
|
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
|
@item pass-discard-request
|
||||||
Whether discard requests to the qcow2 device should be forwarded to the data
|
Whether discard requests to the qcow2 device should be forwarded to the data
|
||||||
|
|
Loading…
Reference in New Issue