
On Tue, Sep 26, 2017 at 05:06:37PM -0400, John Ferlan wrote:
On 09/18/2017 11:45 PM, Liu Qing wrote:
Qcow2 small IO random write performance will drop dramatically if the l2 cache table could not cover the whole disk. This will be a lot of l2 cache table RW operations if cache miss happens frequently.
This patch exports the qcow2 driver parameter l2-cache-size/refcount-cache-size, first added in Qemu 2.2, and cache-clean-interval, first added in Qemu 2.5, in libvirt.
change since v4: removed unnecessary cache error check
Liu Qing (2): conf, docs: Add qcow2 cache configuration support
According to what you added for the v5 - there's an upstream bz that could be associated with this work. Is this something that should be added to the commit message so that we can "track" where the idea comes from?
John could you help to add the bz in the commit message while pushing the patch, of course, with Peter's support on pushing. The bz link is: https://bugzilla.redhat.com/show_bug.cgi?id=1377735 If you need me to do the change, just let me know. Thanks.
Beyond that - I agree setting policy is not the business we want to be in. I just figured I'd throw it out there. I didn't read all of the qemu links from the bz about thoughts on this - too many links too much to follow not enough time/desire to think about it.
Thanks for the understanding.
I'm not against pushing these patches, but would like to at least make sure Peter isn't 100% against them. I agree the attributes are really painful to understand, but it's not the first time we've added some attribute that comes with a beware of using this unless you know what you're doing.
John
qemu: add capability checking for qcow2 cache configuration
docs/formatdomain.html.in | 41 +++++++++ docs/schemas/domaincommon.rng | 35 ++++++++ src/conf/domain_conf.c | 97 ++++++++++++++++++++-- src/qemu/qemu_capabilities.c | 11 +++ src/qemu/qemu_capabilities.h | 5 ++ src/qemu/qemu_command.c | 33 ++++++++ src/qemu/qemu_driver.c | 5 ++ src/util/virstoragefile.c | 3 + src/util/virstoragefile.h | 6 ++ tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 3 + .../caps_2.6.0-gicv2.aarch64.xml | 3 + .../caps_2.6.0-gicv3.aarch64.xml | 3 + tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml | 3 + tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 3 + tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 3 + tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 3 + tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 3 + tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 3 + tests/qemucapabilitiesdata/caps_2.9.0.ppc64le.xml | 3 + tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 3 + tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 3 + .../qemuxml2argv-disk-drive-qcow2-cache.args | 28 +++++++ .../qemuxml2argv-disk-drive-qcow2-cache.xml | 43 ++++++++++ tests/qemuxml2argvtest.c | 4 + .../qemuxml2xmlout-disk-drive-qcow2-cache.xml | 43 ++++++++++ tests/qemuxml2xmltest.c | 1 + 26 files changed, 384 insertions(+), 7 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-qcow2-cache.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-qcow2-cache.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-qcow2-cache.xml