From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xenproject.org
Cc: libvir-list@redhat.com, Julien Grall <julien.grall@arm.com>,
Jim Fehlig <jfehlig@suse.com>
Subject: [OSSTEST PATCH 0/2] libvirt: Fix save/restore capability check on ARM
Date: Tue, 4 Oct 2016 18:02:25 +0100 [thread overview]
Message-ID: <1475600547-1009-1-git-send-email-ian.jackson@eu.citrix.com> (raw)
Currently, osstest, the Xen Project's automated test framework,
erroneously thinks that save/restore is supported with libvirt on ARM.
In fact, save/restore is not supported by Xen on ARM at all.
The result is that osstest then actually attempts the save/restore,
and abandons the test job as a failure. This is not desirable.
In these two patches I try to fix the feature detection to get this
right. I'd appreciate advice about whether I have done the right
thing.
My code is based partly on empirical observation of the output of
`virsh capabilities' on x86 and ARM. (See below.)
Thanks,
Ian.
From baroque0, x86.
As left by 101253.test-amd64-amd64-libvirt-pair; osstest "branch" osstest
<capabilities>
<host>
<cpu>
<arch>x86_64</arch>
<features>
<pae/>
</features>
<model>Haswell-noTSX</model>
<topology sockets='1' cores='4' threads='2'/>
<feature name='vme'/>
<feature name='ds'/>
<feature name='acpi'/>
<feature name='ht'/>
<feature name='tm'/>
<feature name='pbe'/>
<feature name='dtes64'/>
<feature name='monitor'/>
<feature name='ds_cpl'/>
<feature name='vmx'/>
<feature name='smx'/>
<feature name='est'/>
<feature name='tm2'/>
<feature name='xtpr'/>
<feature name='pdcm'/>
<feature name='f16c'/>
<feature name='rdrand'/>
<feature name='tsc_adjust'/>
<feature name='xsaveopt'/>
<feature name='pdpe1gb'/>
<feature name='abm'/>
<feature name='invtsc'/>
</cpu>
<power_management/>
<migration_features>
<live/>
</migration_features>
<netprefix>vif</netprefix>
<topology>
<cells num='1'>
<cell id='0'>
<memory unit='KiB'>9699328</memory>
<cpus num='8'>
<cpu id='0' socket_id='0' core_id='0' siblings='0-1'/>
<cpu id='1' socket_id='0' core_id='0' siblings='0-1'/>
<cpu id='2' socket_id='0' core_id='1' siblings='2-3'/>
<cpu id='3' socket_id='0' core_id='1' siblings='2-3'/>
<cpu id='4' socket_id='0' core_id='2' siblings='4-5'/>
<cpu id='5' socket_id='0' core_id='2' siblings='4-5'/>
<cpu id='6' socket_id='0' core_id='3' siblings='6-7'/>
<cpu id='7' socket_id='0' core_id='3' siblings='6-7'/>
</cpus>
</cell>
</cells>
</topology>
</host>
<guest>
<os_type>xen</os_type>
<arch name='x86_64'>
<wordsize>64</wordsize>
<emulator>/usr/lib/xen/bin/qemu-system-i386</emulator>
<machine>xenpv</machine>
<domain type='xen'/>
</arch>
</guest>
<guest>
<os_type>xen</os_type>
<arch name='i686'>
<wordsize>32</wordsize>
<emulator>/usr/lib/xen/bin/qemu-system-i386</emulator>
<machine>xenpv</machine>
<domain type='xen'/>
</arch>
<features>
<pae/>
</features>
</guest>
<guest>
<os_type>hvm</os_type>
<arch name='i686'>
<wordsize>32</wordsize>
<emulator>/usr/lib/xen/bin/qemu-system-i386</emulator>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<machine>xenfv</machine>
<domain type='xen'/>
</arch>
<features>
<pae/>
<nonpae/>
<acpi default='on' toggle='yes'/>
<apic default='on' toggle='no'/>
<hap default='on' toggle='yes'/>
</features>
</guest>
<guest>
<os_type>hvm</os_type>
<arch name='x86_64'>
<wordsize>64</wordsize>
<emulator>/usr/lib/xen/bin/qemu-system-i386</emulator>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<machine>xenfv</machine>
<domain type='xen'/>
</arch>
<features>
<acpi default='on' toggle='yes'/>
<apic default='on' toggle='no'/>
<hap default='on' toggle='yes'/>
</features>
</guest>
</capabilities>
From arndale-lakeside, ARM.
As left by 101251 | test-armhf-armhf-libvirt; osstest "branch" qemu-mainline
<capabilities>
<host>
<cpu>
<arch>armv7l</arch>
</cpu>
<power_management/>
<netprefix>vif</netprefix>
<topology>
<cells num='1'>
<cell id='0'>
<memory unit='KiB'>2097152</memory>
<cpus num='2'>
<cpu id='0' socket_id='0' core_id='0' siblings='0-1'/>
<cpu id='1' socket_id='0' core_id='0' siblings='0-1'/>
</cpus>
</cell>
</cells>
</topology>
</host>
<guest>
<os_type>xen</os_type>
<arch name='armv7l'>
<wordsize>32</wordsize>
<emulator>/usr/lib/xen/bin/qemu-system-i386</emulator>
<machine>xenpv</machine>
<domain type='xen'/>
</arch>
</guest>
</capabilities>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next reply other threads:[~2016-10-04 17:02 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-04 17:02 Ian Jackson [this message]
2016-10-04 17:02 ` [OSSTEST PATCH 1/2] libvirt: Check migration capabilities using proper XML parser Ian Jackson
2016-10-04 17:05 ` Ian Jackson
2016-10-05 18:36 ` Julien Grall
2016-10-06 10:00 ` Ian Jackson
2016-10-11 13:42 ` Julien Grall
2016-10-11 13:50 ` Ian Jackson
2016-10-05 23:50 ` Jim Fehlig
2016-10-04 17:02 ` [OSSTEST PATCH 2/2] libvirt: Do not attempt save/restore when migration not advertised Ian Jackson
2016-10-05 6:46 ` [libvirt] " Martin Kletzander
2016-10-06 0:06 ` Jim Fehlig
2016-10-06 9:43 ` Martin Kletzander
2016-10-06 9:59 ` Ian Jackson
2016-10-06 10:42 ` Martin Kletzander
2016-10-06 16:44 ` Ian Jackson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1475600547-1009-1-git-send-email-ian.jackson@eu.citrix.com \
--to=ian.jackson@eu.citrix.com \
--cc=jfehlig@suse.com \
--cc=julien.grall@arm.com \
--cc=libvir-list@redhat.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).