Signed-off-by: Leonid Bloch <lbloch@janustech.com>
---
docs/qcow2-cache.txt | 9 ++++++---
qapi/block-core.json | 6 +++---
qemu-options.hx | 15 +++++++++------
3 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/docs/qcow2-cache.txt b/docs/qcow2-cache.txt
index 8a09a5cc5f..fd9a6911cc 100644
--- a/docs/qcow2-cache.txt
+++ b/docs/qcow2-cache.txt
@@ -112,9 +112,9 @@ command-line, or the 'blockdev-add' QMP command.
There are three options available, and all of them take bytes:
-"l2-cache-size": maximum size of the L2 table cache
-"refcount-cache-size": maximum size of the refcount block cache
-"cache-size": maximum size of both caches combined
+"l2-cache-size": maximal size of the L2 table cache
+"refcount-cache-size": maximal size of the refcount block cache
+"cache-size": maximal size of both caches combined
There are a few things that need to be taken into account:
@@ -130,6 +130,9 @@ There are a few things that need to be taken into account:
memory as possible to the L2 cache before increasing the refcount
cache size.
+ - At most two of "l2-cache-size", "refcount-cache-size", and "cache-size"
+ can be set simultaneously.
+
Unlike L2 tables, refcount blocks are not used during normal I/O but
only during allocations and internal snapshots. In most cases they are
accessed sequentially (even during random guest I/O) so increasing the
diff --git a/qapi/block-core.json b/qapi/block-core.json
index d40d5ecc3b..22f85687df 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -2808,10 +2808,10 @@
# @overlap-check: which overlap checks to perform for writes
# to the image, defaults to 'cached' (since 2.2)
#
-# @cache-size: the maximum total size of the L2 table and
+# @cache-size: the maximal total size of the L2 table and
# refcount block caches in bytes (since 2.2)
#
-# @l2-cache-size: the maximum size of the L2 table cache in
+# @l2-cache-size: the maximal size of the L2 table cache in
# bytes (since 2.2)
#
# @l2-cache-entry-size: the size of each entry in the L2 cache in
@@ -2819,7 +2819,7 @@
# and the cluster size. The default value is
# the cluster size (since 2.12)
#
-# @refcount-cache-size: the maximum size of the refcount block cache
+# @refcount-cache-size: the maximal size of the refcount block cache
# in bytes (since 2.2)
#
# @cache-clean-interval: clean unused entries in the L2 and refcount
diff --git a/qemu-options.hx b/qemu-options.hx
index b1bf0f485f..18f3f87da5 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -751,16 +751,19 @@ Whether to enable the lazy refcounts feature (on/off; default is taken from the
image file)
@item cache-size
-The maximum total size of the L2 table and refcount block caches in bytes
-(default: 1048576 bytes or 8 clusters, whichever is larger)
+The maximal total size of the L2 table and refcount block caches in bytes
+(default: the sum of l2-cache-size and refcount-cache-size)
@item l2-cache-size
-The maximum size of the L2 table cache in bytes
-(default: 4/5 of the total cache size)
+The maximal size of the L2 table cache in bytes
+(default: if cache-size is not defined - 1048576 bytes or 8 clusters, whichever
+is larger; otherwise, as large as possible or needed within the cache-size,
+while permitting the requested or the minimal refcount cache size)
@item refcount-cache-size
-The maximum size of the refcount block cache in bytes
-(default: 1/5 of the total cache size)
+The maximal size of the refcount block cache in bytes
+(default: 4 times the cluster size; or if cache-size is specified, the part of
+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.
--
2.17.1
On Sun 29 Jul 2018 11:27:41 PM CEST, Leonid Bloch wrote: > Signed-off-by: Leonid Bloch <lbloch@janustech.com> > --- > docs/qcow2-cache.txt | 9 ++++++--- > qapi/block-core.json | 6 +++--- > qemu-options.hx | 15 +++++++++------ > 3 files changed, 18 insertions(+), 12 deletions(-) > > diff --git a/docs/qcow2-cache.txt b/docs/qcow2-cache.txt > index 8a09a5cc5f..fd9a6911cc 100644 > --- a/docs/qcow2-cache.txt > +++ b/docs/qcow2-cache.txt > @@ -112,9 +112,9 @@ command-line, or the 'blockdev-add' QMP command. > > There are three options available, and all of them take bytes: > > -"l2-cache-size": maximum size of the L2 table cache > -"refcount-cache-size": maximum size of the refcount block cache > -"cache-size": maximum size of both caches combined > +"l2-cache-size": maximal size of the L2 table cache > +"refcount-cache-size": maximal size of the refcount block cache > +"cache-size": maximal size of both caches combined Why is 'maximum' not clear in this context? Otherwise the patch looks good to me. Berto
On 08/03/2018 02:27 PM, Alberto Garcia wrote: > On Sun 29 Jul 2018 11:27:41 PM CEST, Leonid Bloch wrote: >> Signed-off-by: Leonid Bloch <lbloch@janustech.com> >> --- >> docs/qcow2-cache.txt | 9 ++++++--- >> qapi/block-core.json | 6 +++--- >> qemu-options.hx | 15 +++++++++------ >> 3 files changed, 18 insertions(+), 12 deletions(-) >> >> diff --git a/docs/qcow2-cache.txt b/docs/qcow2-cache.txt >> index 8a09a5cc5f..fd9a6911cc 100644 >> --- a/docs/qcow2-cache.txt >> +++ b/docs/qcow2-cache.txt >> @@ -112,9 +112,9 @@ command-line, or the 'blockdev-add' QMP command. >> >> There are three options available, and all of them take bytes: >> >> -"l2-cache-size": maximum size of the L2 table cache >> -"refcount-cache-size": maximum size of the refcount block cache >> -"cache-size": maximum size of both caches combined >> +"l2-cache-size": maximal size of the L2 table cache >> +"refcount-cache-size": maximal size of the refcount block cache >> +"cache-size": maximal size of both caches combined > > Why is 'maximum' not clear in this context? It seemed to me that it is grammatically incorrect, because maximum is a noun and maximal is an adjective. But after a quick check now I see that maximum can be used as an adjective as well, so indeed this change is not needed. Will update in the next version. Thanks, Leonid. > > Otherwise the patch looks good to me. > > Berto >
© 2016 - 2025 Red Hat, Inc.