提交 e957b50b 编写于 作者: L Leonid Bloch 提交者: Kevin Wolf

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: NLeonid Bloch <lbloch@janustech.com>
Reviewed-by: NAlberto Garcia <berto@igalia.com>
Reviewed-by: NKevin Wolf <kwolf@redhat.com>
Signed-off-by: NKevin Wolf <kwolf@redhat.com>
上级 45b4949c
...@@ -944,7 +944,7 @@ static int qcow2_update_options_prepare(BlockDriverState *bs, ...@@ -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 @@ ...@@ -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: ...@@ -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 @@ ...@@ -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) ...@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册