|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v8 for-xen-4.5 2/2] dpci: Replace tasklet with an softirq (v8)
> > -void pci_release_devices(struct domain *d)
> > +int pci_release_devices(struct domain *d)
> > {
> > struct pci_dev *pdev;
> > u8 bus, devfn;
> > + int ret;
> >
> > spin_lock(&pcidevs_lock);
> > - pci_clean_dpci_irqs(d);
> > + ret = pci_clean_dpci_irqs(d);
> > + if ( ret == -ERESTART )
> > + {
> > + spin_unlock(&pcidevs_lock);
> > + return ret;
> > + }
> > while ( (pdev = pci_get_pdev_by_domain(d, -1, -1, -1)) )
> > {
> > bus = pdev->bus;
>
> Even if errors other than -ERESTART aren't possible right now, the
> code now looks like it is ignoring such. I think it would be better if
> you simply dropped the special casing of -ERESTART and propagated
> all errors here.
The will cause a regression. The pci_clean_dpci_irqs will
now return -EINVAL if the iommu is turned off - which will mean
that we won't be able to kill an HVM guest without passthrough.
I can do:
1). if ( ret && !(ret == -EINVAL || ret == -E..))
2). Or remove the various 'return -EINVAL' in the pci_clean_dpci_irqs
for the causes where IOMMU is off or there are no PCI passthrough
devices - and just make them return 0.
3). Leave it as is.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |