Message ID | 20180807202122.27006-5-lbloch@janustech.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | qcow2: Make the L2 cache cover the whole image by default | expand |
On 08/07/2018 03:21 PM, Leonid Bloch wrote: > The default cache-clean-interval is set to 30 seconds, in order to lower > the overhead of the qcow2 caches. > > Signed-off-by: Leonid Bloch <lbloch@janustech.com> > --- > +++ b/qapi/block-core.json > @@ -2830,7 +2830,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 30. (since 2.5) > +# > # @encrypt: Image decryption options. Mandatory for > # encrypted images, except when doing a metadata-only > # probe of the image. (since 2.10) > diff --git a/qemu-options.hx b/qemu-options.hx > index d6e15b2f06..0cda3d3c3a 100644 > --- a/qemu-options.hx > +++ b/qemu-options.hx > @@ -767,7 +767,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 30. May be worth wording as: The default value is 30, while setting it to 0 disables this feature.
On 08/07/2018 11:34 PM, Eric Blake wrote: > On 08/07/2018 03:21 PM, Leonid Bloch wrote: >> The default cache-clean-interval is set to 30 seconds, in order to lower >> the overhead of the qcow2 caches. >> >> Signed-off-by: Leonid Bloch <lbloch@janustech.com> >> --- > >> +++ b/qapi/block-core.json >> @@ -2830,7 +2830,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 30. (since 2.5) >> +# >> # @encrypt: Image decryption options. Mandatory for >> # encrypted images, except when doing a >> metadata-only >> # probe of the image. (since 2.10) >> diff --git a/qemu-options.hx b/qemu-options.hx >> index d6e15b2f06..0cda3d3c3a 100644 >> --- a/qemu-options.hx >> +++ b/qemu-options.hx >> @@ -767,7 +767,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 30. > > May be worth wording as: > > The default value is 30, while setting it to 0 disables this feature. > Definitely! Thanks! Will fix.
diff --git a/block/qcow2.c b/block/qcow2.c index f60cb92169..453a6377ac 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -941,7 +941,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 diff --git a/block/qcow2.h b/block/qcow2.h index d77a31d932..96a2808685 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -77,6 +77,7 @@ #define DEFAULT_CLUSTER_SIZE 65536 +#define DEFAULT_CACHE_CLEAN_INTERVAL 30 /* seconds */ #define QCOW2_OPT_LAZY_REFCOUNTS "lazy-refcounts" #define QCOW2_OPT_DISCARD_REQUEST "pass-discard-request" diff --git a/docs/qcow2-cache.txt b/docs/qcow2-cache.txt index c7625cdeb3..1e6711a63a 100644 --- a/docs/qcow2-cache.txt +++ b/docs/qcow2-cache.txt @@ -202,8 +202,7 @@ 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 30. Note that this functionality currently relies on the MADV_DONTNEED argument for madvise() to actually free the memory. This is a diff --git a/qapi/block-core.json b/qapi/block-core.json index 5b9084a394..4d8fca9128 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -2830,7 +2830,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 30. (since 2.5) +# # @encrypt: Image decryption options. Mandatory for # encrypted images, except when doing a metadata-only # probe of the image. (since 2.10) diff --git a/qemu-options.hx b/qemu-options.hx index d6e15b2f06..0cda3d3c3a 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -767,7 +767,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 30. @item pass-discard-request Whether discard requests to the qcow2 device should be forwarded to the data
The default cache-clean-interval is set to 30 seconds, in order to lower the overhead of the qcow2 caches. Signed-off-by: Leonid Bloch <lbloch@janustech.com> --- block/qcow2.c | 2 +- block/qcow2.h | 1 + docs/qcow2-cache.txt | 3 +-- qapi/block-core.json | 3 ++- qemu-options.hx | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-)