* docs/schemas/domaincommon.rng (cputune): Add interleave. * tests/qemuxml2argvdata/qemuxml2argv-cputune-iothreads.xml: Swap up order, copying canonical form... * tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune-iothreads.xml: ...here. * tests/qemuxml2xmltest.c (mymain): Mark the difference. Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> --- View with 'git diff -w' for something easier to see. docs/schemas/domaincommon.rng | 106 ++++++++++---------- .../qemuxml2argv-cputune-iothreads.xml | 15 ++-- .../qemuxml2xmlout-cputune-iothreads.xml | 38 +++++++ tests/qemuxml2xmltest.c | 2 +- 4 files changed, 101 insertions(+), 60 deletions(-) create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune-iothreads.xml diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 9d3775d..dd55a99 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -768,58 +768,60 @@ <!-- All the cpu related tunables would go in the cputune --> <define name="cputune"> <element name="cputune"> - <optional> - <element name="shares"> - <ref name="cpushares"/> - </element> - </optional> - <optional> - <element name="period"> - <ref name="cpuperiod"/> - </element> - </optional> - <optional> - <element name="quota"> - <ref name="cpuquota"/> - </element> - </optional> - <optional> - <element name="emulator_period"> - <ref name="cpuperiod"/> - </element> - </optional> - <optional> - <element name="emulator_quota"> - <ref name="cpuquota"/> - </element> - </optional> - <zeroOrMore> - <element name="vcpupin"> - <attribute name="vcpu"> - <ref name="vcpuid"/> - </attribute> - <attribute name="cpuset"> - <ref name="cpuset"/> - </attribute> - </element> - </zeroOrMore> - <optional> - <element name="emulatorpin"> - <attribute name="cpuset"> - <ref name="cpuset"/> - </attribute> - </element> - </optional> - <zeroOrMore> - <element name="iothreadpin"> - <attribute name="iothread"> - <ref name="unsignedInt"/> - </attribute> - <attribute name="cpuset"> - <ref name="cpuset"/> - </attribute> - </element> - </zeroOrMore> + <interleave> + <optional> + <element name="shares"> + <ref name="cpushares"/> + </element> + </optional> + <optional> + <element name="period"> + <ref name="cpuperiod"/> + </element> + </optional> + <optional> + <element name="quota"> + <ref name="cpuquota"/> + </element> + </optional> + <optional> + <element name="emulator_period"> + <ref name="cpuperiod"/> + </element> + </optional> + <optional> + <element name="emulator_quota"> + <ref name="cpuquota"/> + </element> + </optional> + <zeroOrMore> + <element name="vcpupin"> + <attribute name="vcpu"> + <ref name="vcpuid"/> + </attribute> + <attribute name="cpuset"> + <ref name="cpuset"/> + </attribute> + </element> + </zeroOrMore> + <optional> + <element name="emulatorpin"> + <attribute name="cpuset"> + <ref name="cpuset"/> + </attribute> + </element> + </optional> + <zeroOrMore> + <element name="iothreadpin"> + <attribute name="iothread"> + <ref name="unsignedInt"/> + </attribute> + <attribute name="cpuset"> + <ref name="cpuset"/> + </attribute> + </element> + </zeroOrMore> + </interleave> </element> </define> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cputune-iothreads.xml b/tests/qemuxml2argvdata/qemuxml2argv-cputune-iothreads.xml index 435d0ae..c8cc025 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-cputune-iothreads.xml +++ b/tests/qemuxml2argvdata/qemuxml2argv-cputune-iothreads.xml @@ -6,14 +6,15 @@ <vcpu placement='static'>2</vcpu> <iothreads>2</iothreads> <cputune> - <shares>2048</shares> - <period>1000000</period> - <quota>-1</quota> - <vcpupin vcpu='0' cpuset='0'/> - <vcpupin vcpu='1' cpuset='1'/> - <emulatorpin cpuset='1'/> - <iothreadpin iothread='1' cpuset='2'/> + <!-- intentionally in odd order --> <iothreadpin iothread='2' cpuset='3'/> + <iothreadpin iothread='1' cpuset='2'/> + <emulatorpin cpuset='1'/> + <vcpupin vcpu='1' cpuset='1'/> + <vcpupin vcpu='0' cpuset='0'/> + <quota>-1</quota> + <period>1000000</period> + <shares>2048</shares> </cputune> <os> <type arch='i686' machine='pc'>hvm</type> diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune-iothreads.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune-iothreads.xml new file mode 100644 index 0000000..3684483 --- /dev/null +++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-cputune-iothreads.xml @@ -0,0 +1,38 @@ +<domain type='qemu'> + <name>QEMUGuest1</name> + <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> + <memory unit='KiB'>219136</memory> + <currentMemory unit='KiB'>219136</currentMemory> + <vcpu placement='static'>2</vcpu> + <iothreads>2</iothreads> + <cputune> + <shares>2048</shares> + <period>1000000</period> + <quota>-1</quota> + <vcpupin vcpu='1' cpuset='1'/> + <vcpupin vcpu='0' cpuset='0'/> + <emulatorpin cpuset='1'/> + <iothreadpin iothread='2' cpuset='3'/> + <iothreadpin iothread='1' cpuset='2'/> + </cputune> + <os> + <type arch='i686' machine='pc'>hvm</type> + <boot dev='hd'/> + </os> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu</emulator> + <disk type='block' device='disk'> + <source dev='/dev/HostVG/QEMUGuest1'/> + <target dev='hda' bus='ide'/> + <address type='drive' controller='0' bus='0' target='0' unit='0'/> + </disk> + <controller type='usb' index='0'/> + <controller type='ide' index='0'/> + <controller type='pci' index='0' model='pci-root'/> + <memballoon model='virtio'/> + </devices> +</domain> diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index d269fb3..1959291 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -302,7 +302,7 @@ mymain(void) DO_TEST("smp"); DO_TEST("iothreads"); - DO_TEST("cputune-iothreads"); + DO_TEST_DIFFERENT("cputune-iothreads"); DO_TEST("iothreads-disk"); DO_TEST("lease"); DO_TEST("event_idx"); -- 1.7.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list