[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 2/2] VT-d: Fix vt-d flush timeout issue.
> On 15.12.2015 at 9:44pm, <JBeulich@xxxxxxxx> wrote: > >>> On 15.12.15 at 14:31, <quan.xu@xxxxxxxxx> wrote: > > Copy from pci_hide_device(), which is actually add device to dom_xen > > and add pdev->domain_list to dom_xen->arch.pdev_list. > > > > Quite similar, a second one only with proper justification, I can > > reassign Device form _domain to dom_xen directly. The below is the how > > to deal With device_tlb ( is it acceptable? ). It is working to hide device. > > Looks reasonable, but ... > > > +void device_tlb_invalidate_timeout(struct iommu *iommu, u16 did, > > + u16 seg, u8 bus, u8 devfn) { > > + struct domain *d; > > + struct pci_dev *pdev; > > + struct hvm_iommu *hd; > > + int rc; > > + > > + d = rcu_lock_domain_by_id(iommu->domid_map[did]); > > + ASSERT(d); > > + for_each_pdev(d, pdev) > > + if ( (pdev->seg == seg) && > > + (pdev->bus == bus) && > > + (pdev->devfn == devfn) ) > > + { > > + if ( pdev->domain ) > > + { > > + hd = domain_hvm_iommu(d); > > + rc = hd->platform_ops->reassign_device(d, > > + dom_xen, devfn, pdev); > > ... doesn't this have the potential of generating further flushes? You > clearly need > to be certain not to recurse here. Good consideration. I should continue to enhance it. Thanks Jan... Quan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |