
On 05/13/2013 11:25 PM, Osier Yang wrote:
QEMU introduced command line "-mem-merge=on|off" (defaults to on) to enable/disable the memory merge (KSM) at guest startup. This exposes it by new XML: <memoryBacking> <nosharepages/> </memoryBacking>
The XML tag is same with what we used internally for old RHEL.
I checked the .srpm for RHEL 6.4, and concur that your patches will match (ie. we're being nice to anyone trying to rebase to a newer version of libvirt in RHEL while still maintaining XML compatibility - although RHEL will still have to do some downstream-only patching to tie the new option to the RHEL-only -redhat-disable-KSM alternative command line) Your design also matches what we did for <hugepages/>. If we didn't have back-compat to worry about, I would have suggested <memoryBacking sharepages='no'/>, but it's too late to bikeshed now :)
--- docs/formatdomain.html.in | 13 ++++++--- docs/schemas/domaincommon.rng | 5 ++++ src/conf/domain_conf.c | 20 +++++++++----- src/conf/domain_conf.h | 1 + src/qemu/qemu_command.c | 22 +++++++++++++++ tests/qemuargv2xmltest.c | 2 ++ .../qemuxml2argv-nosharepages.args | 4 +++ .../qemuxml2argvdata/qemuxml2argv-nosharepages.xml | 31 ++++++++++++++++++++++ tests/qemuxml2argvtest.c | 1 + tests/qemuxml2xmltest.c | 1 + 10 files changed, 90 insertions(+), 10 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-nosharepages.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-nosharepages.xml
+++ b/docs/schemas/domaincommon.rng @@ -495,6 +495,11 @@ <empty/> </element> </optional> + <optional> + <element name="nosharepages"> + <empty/> + </element> + </optional>
Now that there are two elements, you need an <interleave> surrounding them. Otherwise, my attempt to write <memoryBacking><nosharepages/><hugepages/></memoryBacking> will fail validation. ACK with the fixed rng schema. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org