Message ID | 20180724200343.13733-3-lbloch@janustech.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Introduction of l2-cache-full option for qcow2 images | expand |
On 07/24/2018 03:03 PM, Leonid Bloch wrote: > Signed-off-by: Leonid Bloch <lbloch@janustech.com> > --- > docs/qcow2-cache.txt | 3 +++ > qemu-options.hx | 15 +++++++++++---- > 2 files changed, 14 insertions(+), 4 deletions(-) > > diff --git a/docs/qcow2-cache.txt b/docs/qcow2-cache.txt > index 8a09a5cc5f..9d261b7da9 100644 > --- a/docs/qcow2-cache.txt > +++ b/docs/qcow2-cache.txt > @@ -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. > > +- All three "l2-cache-size", "refcount-cache-size", and "cache-size" options > + can not be set simultaneously. Reads awkwardly; maybe: At most two of "l2-cache-size", "refcount-cache-size", and "cache-size" can be set together on the command line (the omitted options are calculated accordingly). > +++ b/qemu-options.hx > @@ -752,15 +752,22 @@ 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) > > @item l2-cache-size > -The maximum size of the L2 table cache in bytes > -(default: 4/5 of the total cache size) > +The maximum size of the L2 table cache. > +(default: if cache-size is not defined - 1048576 bytes or 8 clusters, > +whichever is larger; if cache-size is defined and is large enough to > +accommodate enough L2 cache to cover the entire virtual size of the image plus > +the minimal amount of refcount cache - enough to cover the entire image; > +if cache-size is defined and is not large enough - as much as possible while > +leaving space for the needed refcount cache) Wordy; maybe: (default: if cache-size is not defined - 1048576 bytes or 8 clusters, whichever is larger; otherwise, as large as possible within cache-size while still permitting the requested or minimum 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) > +(default: 4 times the cluster size, or if cache-size is defined and is large > +enough to accommodate enough L2 cache to cover the entire virtual size of the > +image plus the minimal amount of refcount cache - the part of cache-size which > +is left after allocating the full L2 cache) Maybe: (default: 4 times the cluster size, plus any portion of a specified cache-size left over after sizing the L2 cache large enough to cover the entire image)
diff --git a/docs/qcow2-cache.txt b/docs/qcow2-cache.txt index 8a09a5cc5f..9d261b7da9 100644 --- a/docs/qcow2-cache.txt +++ b/docs/qcow2-cache.txt @@ -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. +- All three "l2-cache-size", "refcount-cache-size", and "cache-size" options + can not 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/qemu-options.hx b/qemu-options.hx index b1bf0f485f..ef0706c359 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -752,15 +752,22 @@ 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) @item l2-cache-size -The maximum size of the L2 table cache in bytes -(default: 4/5 of the total cache size) +The maximum size of the L2 table cache. +(default: if cache-size is not defined - 1048576 bytes or 8 clusters, +whichever is larger; if cache-size is defined and is large enough to +accommodate enough L2 cache to cover the entire virtual size of the image plus +the minimal amount of refcount cache - enough to cover the entire image; +if cache-size is defined and is not large enough - as much as possible while +leaving space for the needed refcount cache) @item refcount-cache-size The maximum size of the refcount block cache in bytes -(default: 1/5 of the total cache size) +(default: 4 times the cluster size, or if cache-size is defined and is large +enough to accommodate enough L2 cache to cover the entire virtual size of the +image plus the minimal amount of refcount cache - the part of cache-size which +is left after allocating the full L2 cache) @item cache-clean-interval Clean unused entries in the L2 and refcount caches. The interval is in seconds.
Signed-off-by: Leonid Bloch <lbloch@janustech.com> --- docs/qcow2-cache.txt | 3 +++ qemu-options.hx | 15 +++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-)