xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
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

             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).