On Wed, Nov 15, 2017 at 04:09:28PM +0100, Alberto Garcia wrote: > On Wed 15 Nov 2017 12:21:24 PM CET, Kashyap Chamarthy wrote: > > [Cc: Alberto Garcia of QEMU, who added the 'l2-cache-size' upstream] > > [...] > > >> There's already something on list about l2 cache, see > >> > >> https://www.redhat.com/archives/libvir-list/2017-September/msg00553.html > >> > >> it adds 3 related variables. IIRC, the "hold up" is how best to > >> describe how to use it or provide the feature in such a way that it's > >> "understandable" for general consumption without making a "policy" > >> that generates certain values based on expected usage/needs for the > >> client. > > > > I recall Alberto saying that there's a default value of QCOW2 > > 'l2-cache-size', but it is (intentionally?) low. And that the value > > depends on the workload / use case: size of the image, the amount of > > I/O you want to do, etc. > > I actually didn't add that parameter. Err, sorry for the misattribution, I already wondered while writing that line that I should've checked. I meant to mention your blog post: https://blogs.igalia.com/berto/2015/12/17/improving-disk-io-performance-in-qemu-2-5-with-the-qcow2-l2-cache/ > Looking at the history it seems that the default size hasn't changed > since Fabrice Bellard added it back in 2006, so I assume that it was > fine for most use cases back in the day and it was never discussed > afterwards. > > This was probably mentioned already, but here's what I've written about > this topic: > > https://bugzilla.redhat.com/show_bug.cgi?id=1377735#c2 > > https://www.redhat.com/archives/libvir-list/2017-October/msg00180.html > > From the user's point of view the simplest use cases are perhaps: > > 1) I want to use at most xxx MB for the qcow2 L2 cache. > 2) I want to use as much cache as I need in order to get the best > performance. > > Those should be relatively straightforward and easy to understand for > the user, (1) is simply the value of l2-cache-size, and for (2) libvirt > would have to make the calculations itself. > > Some things to take into account: > > - l2-refcount-size is set to be 1/4 of l2-cache-size (see "How to > configure the cache sizes" in docs/qcow2-cache.txt in QEMU), but it > probably makes sense to keep it artificially low (it's not so > important for I/O perfomance, although I dont have numbers of its > actual impact). > - cache-clean-interval can also be useful, see the bugzilla link for > more details. Thanks for the explanation and pointers. -- /kashyap -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list