WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Should 'xm save' work, when using PCI pass through?

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Should 'xm save' work, when using PCI pass through?
From: Tom Rotenberg <tom.rotenberg@xxxxxxxxx>
Date: Wed, 23 Sep 2009 18:35:51 +0300
Cc: Ian Pratt <Ian.Pratt@xxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 23 Sep 2009 08:36:19 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=w6WCNkcC1BtS9X65uoLGfy8u0UyrdsCJZc7l2bt2okg=; b=f91HoR/ODT9oKQRyrV4VUsSmCeZHvP4mQ2XemxzLE943Ja6hIcmLPaCRs6xZorVcFl cs1MMKDjxJsHQCJEDC1UBSBZe5QuyzOz1Xv83rWzlsPB5jY8ydp85VUm5iLvAI366nmS SaE72Tih1/Ed9DqgWSMX1/dV0WGqur23OzeWQ=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=azOl4c4WhqcvKffojfqVONxs0wFpV5+ZgJH1C9aCnPjvtfDpQ7XZUHjOwwU4aE+yXH DVoNct4vhRJ95lwMLu52beugBXNm90NsW/iGBlWqui/vL2L8/shi1y2Rz4aAqPu4t7i0 wDhzAf6lDZIyRY29pXwZdKJR6+O4hRI3W/iHc=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C6DFDB0A.1584C%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <8686c3cd0909230551m6e6399e6id0ea1ce63cae1a73@xxxxxxxxxxxxxx> <C6DFDB0A.1584C%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Just tried it... it doesn't work. It looks like, because we have
pass-through devices, the restore is trying to send signals to qemu,
while the qemu instance is None...
The errors i see in the xend.log:

"
...
[2009-09-23 11:43:44 4345] DEBUG (XendDomainInfo:1120)
XendDomainInfo.destroyDevice: deviceClass = console, device =
console/0
[2009-09-23 11:43:44 4345] DEBUG (XendDomainInfo:2196) Removing pci/0
[2009-09-23 11:43:44 4345] DEBUG (XendDomainInfo:1120)
XendDomainInfo.destroyDevice: deviceClass = pci, device = pci/0
[2009-09-23 11:43:44 4345] DEBUG (pciif:418) XendDomainInfo.handleAerStateWatch
[2009-09-23 11:43:44 4345] DEBUG (pciif:537) pci: unregister aer watch
[2009-09-23 11:43:44 4345] ERROR (XendDomain:1155) Restore failed
Traceback (most recent call last):
  File "usr/lib/python2.5/site-packages/xen/xend/XendDomain.py", line
1147, in domain_restore_fd
    return XendCheckpoint.restore(self, fd, paused=paused,
relocating=relocating)
  File "usr/lib/python2.5/site-packages/xen/xend/XendCheckpoint.py",
line 213, in restore
    dominfo = xd.restore_(vmconfig)
  File "usr/lib/python2.5/site-packages/xen/xend/XendDomain.py", line
509, in restore_
    dominfo = XendDomainInfo.restore(config)
  File "usr/lib/python2.5/site-packages/xen/xend/XendDomainInfo.py",
line 234, in restore
    vm.resume()
  File "usr/lib/python2.5/site-packages/xen/xend/XendDomainInfo.py",
line 501, in resume
    self._createDevices()
  File "usr/lib/python2.5/site-packages/xen/xend/XendDomainInfo.py",
line 2170, in _createDevices
    self.pci_device_configure_boot()
  File "usr/lib/python2.5/site-packages/xen/xend/XendDomainInfo.py",
line 594, in pci_device_configure_boot
    self.pci_device_configure(dev_sxp)
  File "usr/lib/python2.5/site-packages/xen/xend/XendDomainInfo.py",
line 830, in pci_device_configure
    vdevfn = self.hvm_pci_device_insert(dev_config)
  File "usr/lib/python2.5/site-packages/xen/xend/XendDomainInfo.py",
line 722, in hvm_pci_device_insert
    return self.hvm_pci_device_insert_dev(new_dev)
  File "usr/lib/python2.5/site-packages/xen/xend/XendDomainInfo.py",
line 736, in hvm_pci_device_insert_dev
    self.image.signalDeviceModel('pci-ins', 'pci-inserted', bdf_str)
AttributeError: 'NoneType' object has no attribute 'signalDeviceModel'
"

Shouldn't we develop basic save/restore functionality for domains with
pass-through devices (without migration to a different machine)?

Tom

On Wed, Sep 23, 2009 at 4:02 PM, Keir Fraser <keir.fraser@xxxxxxxxxxxxx> wrote:
> Well, you could try removing the warning check from xend and see what
> happens...
>
>  -- Keir
>
> On 23/09/2009 13:51, "Tom Rotenberg" <tom.rotenberg@xxxxxxxxx> wrote:
>
>> Why? if i send the domain to S3, and then save the PCI config space -
>> isn't it enough?
>>
>> On Wed, Sep 23, 2009 at 3:49 PM, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
>> wrote:
>>> I'm not sure xend can save/restore passthrough state. In which case your
>>> only option is to hot-unplug the PCI devices from the guest first.
>>>
>>>  -- Keir
>>>
>>> On 23/09/2009 12:16, "Tom Rotenberg" <tom.rotenberg@xxxxxxxxx> wrote:
>>>
>>>> Well, i just tried sending the domain to S3, and then saving it's
>>>> state, but i got an error saying, that 'migration isn't allowed with
>>>> pass-through devices'.
>>>> How can i workaround this?
>>>>
>>>> On Wed, Sep 23, 2009 at 1:45 PM, Ian Pratt <Ian.Pratt@xxxxxxxxxxxxx> wrote:
>>>>>> I have a domain with PCI pass-through, and i would like to save it,
>>>>>> and restore it later (maybe even after rebooting the dom0). Is it
>>>>>> possible to do this using 'xm save' & 'xm restore', although my domain
>>>>>> has PCI pass through?
>>>>>
>>>>> You'll need to make sure the physical devices are shutdown. The best way 
>>>>> of
>>>>> doing this is to hot unplug them. You could also achieve this by putting
>>>>> the
>>>>> VM into S3 sleep before doing the save.
>>>>>
>>>>> Ian
>>>>>
>>>>
>>>> _______________________________________________
>>>> Xen-devel mailing list
>>>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>>>> http://lists.xensource.com/xen-devel
>>>
>>>
>>>
>
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel