[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] [Xen-devel] PCI passthrough problems after legacy update of xen 4.1



Ok, I changed so that the corresponding first lines of code looks like this:
   
        if dev.irq: 
            rc = xc.physdev_map_pirq(domid = fe_domid,
                                   index = dev.irq,
                                   pirq  = dev.irq)

(only the first line changed)
Then, after restarting xend, I get a different failure on line 346, which is the last line of the above: "VmError: (17, 'File exists')". Full xend.log attached below.

I can also do tests with the one device which I still manage to pass through (a gpu), if I get specific suggestions on what to look for.

/Andreas   

[2013-05-02 20:41:29 19545] DEBUG (XendDomainInfo:811) XendDomainInfo.hvm_pci_device_insert_dev: 0000:04:00.0@100,msitranslate=1,power_mgmt=1
[2013-05-02 20:41:29 19545] DEBUG (XendDomainInfo:815) pci: assign device 0000:04:00.0@100,msitranslate=1,power_mgmt=1
[2013-05-02 20:41:29 19545] DEBUG (image:508) signalDeviceModel: orig_state is None, retrying
[2013-05-02 20:41:29 19545] INFO (image:538) signalDeviceModel:restore dm state to running
[2013-05-02 20:41:30 19545] INFO (pciquirk:92) NO quirks found for PCI device [104c:8241:0000:0000]
[2013-05-02 20:41:30 19545] DEBUG (pciquirk:135) Permissive mode NOT enabled for PCI device [104c:8241:0000:0000]
[2013-05-02 20:41:30 19545] DEBUG (pciif:334) pci: enabling iomem 0xdfef0000/0x10000 pfn 0xdfef0/0x10
[2013-05-02 20:41:30 19545] DEBUG (pciif:334) pci: enabling iomem 0xdfeee000/0x2000 pfn 0xdfeee/0x2
[2013-05-02 20:41:30 19545] ERROR (XendDomainInfo:2927) XendDomainInfo.initDomain: exception occurred
Traceback (most recent call last):
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 2914, in _initDomain
    self._createDevices()
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 2395, in _createDevices
    self.pci_device_configure_boot()
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 627, in pci_device_configure_boot
    self.pci_device_configure(dev_sxp, first_dev = first)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 970, in pci_device_configure
    devid = self._createDevice('pci', existing_pci_conf)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 2326, in _createDevice
    return self.getDeviceController(deviceClass).createDevice(devConfig)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/server/DevController.py", line 67, in createDevice
    self.setupDevice(config)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/server/pciif.py", line 453, in setupDevice
    self.setupOneDevice(d)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/server/pciif.py", line 346, in setupOneDevice
    pirq  = dev.irq)
Error: (17, 'File exists')
[2013-05-02 20:41:30 19545] ERROR (XendDomainInfo:488) VM start failed
Traceback (most recent call last):
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 474, in start
    XendTask.log_progress(31, 60, self._initDomain)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendTask.py", line 209, in log_progress
    retval = func(*args, **kwds)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 2930, in _initDomain
    raise VmError(str(exn))
VmError: (17, 'File exists')
[2013-05-02 20:41:30 19545] DEBUG (XendDomainInfo:3071) XendDomainInfo.destroy: domid=19
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:2401) Destroying device model
[2013-05-02 20:41:32 19545] INFO (image:615) w8 device model terminated
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:2408) Releasing devices
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:2414) Removing vif/0
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vif, device = vif/0
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:2414) Removing vbd/768
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/768
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:2414) Removing vbd/832
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/832
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:2414) Removing vbd/5632
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/5632
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:2414) Removing vfb/0
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vfb, device = vfb/0
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:2406) No device model
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:2408) Releasing devices
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:2414) Removing vif/0
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vif, device = vif/0
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:2414) Removing vbd/768
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/768
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:2414) Removing vbd/832
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/832
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:2414) Removing vbd/5632
[2013-05-02 20:41:32 19545] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/5632
[2013-05-02 20:41:32 19545] ERROR (XendDomainInfo:108) Domain construction failed
Traceback (most recent call last):
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 106, in create
    vm.start()
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 474, in start
    XendTask.log_progress(31, 60, self._initDomain)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendTask.py", line 209, in log_progress
    retval = func(*args, **kwds)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 2930, in _initDomain
    raise VmError(str(exn))
VmError: (17, 'File exists')



2013/5/2 Jan Beulich <JBeulich@xxxxxxxx>
>>> On 02.05.13 at 14:42, Andreas Falck <falck.andreas.lists@xxxxxxxxx> wrote:
> 2013/5/2 Jan Beulich <JBeulich@xxxxxxxx>
>
>>
>> If you could just try out the tentative solution described in
>> http://lists.xen.org/archives/html/xen-devel/2013-05/msg00145.html
>> that would already help.
>>
>
> I will have a look when I come home from work, it will be a few hours from
> now. Just so that I understand it right, is this simply a matter of editing
> pciif.py and commenting out the line
>
>         if not self.vm.info.is_hvm() and dev.irq:
>
> so that the conditioned code is executed for all guests?

No, not the entire line, just the is_hvm part needs to be dropped.

Jan


_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.