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/
Home Products Support Community News


Re: [Xen-devel] xl: pci completion error

On Thu, 2010-10-07 at 13:47 +0100, Sergey Tovpeko wrote:
> Hello, Gianni!
> I was interested, how your patch would behave with many pci devices 
> given to a domain.
> It seemed that each device removal takes 10 seconds  for the timeout.
> pci=[ '01:00.0','00:1d.0', '00:1d.1', '00:1d.2','00:1d.3', '00:1d.7'  ]

Heh. you probably mean 00:1d.* which would have a higher chance of
working - It's a USB controller, am I right?

> The result was a bit different. After the first pci removal,  the others 
> somehow were destroyed.
> So the second do_pci_remove run into the failure that there were no pci 
> devices at all.

Passing through multiple functions of one device as separate devices
causes some unspeakable badness. Therefore the above configuration is
not supported in libxl. Unless it is for an SR-IOV card, but even then
it is only supported 'in principle' and not in code - I have no hardware
to test this.

> So I got the following log.
> Waiting for domain workxp (domid 1) to die [pid 3900]
> Domain 1 is dead
> Action for shutdown reason code 0 is destroy
> Domain 1 needs to be cleaned up: destroying the domain
> do_pci_remove device 01:00.0
> libxl: error: libxl_device.c:448:libxl__wait_for_device_model Device 
> Model not ready
> libxl: error: libxl_pci.c:861:do_pci_remove Device Model didn't respond 
> in time
> do_pci_remove device 00:1d.0
> libxl: error: libxl_pci.c:839:do_pci_remove PCI device not attached to 
> this domain

I am not sure how we can get to this state since we only call shutdown
on a device that is assigned (from checking xenstore) but then the
'attached-ness' check shows it's no longer assigned. That should
definitely not be the case...

Can you reproduce this without yesterdays patch??

> libxl: error: libxl.c:944:libxl_domain_destroy pci shutdown failed for 
> domid 1
> libxl: error: libxl.c:896:libxl_destroy_device_model Couldn't find 
> device model's pid: No such file or directory
> libxl: error: libxl.c:956:libxl_domain_destroy 
> libxl_destroy_device_model failed for 1
> libxl: error: libxl_device.c:307:libxl__devices_destroy 
> /local/domain/1/device is empty

Looks like unrelated xenstore corruption perhaps? I am not sure.


Xen-devel mailing list