Re: [PATCH v8 07/10] iommufd: Fault-capable hwpt attach/detach/replace
From: Jason Gunthorpe
Date: Fri Oct 18 2024 - 10:33:17 EST
On Fri, Oct 18, 2024 at 09:58:37AM +0800, Baolu Lu wrote:
> On 2024/10/17 21:08, Jason Gunthorpe wrote:
> > On Thu, Oct 17, 2024 at 08:35:24PM +0800, Zhangfei Gao wrote:
> >
> > > Yes, you are right
> > > I am using SRIOV vf and stall feature, so is_virtfn == true
> > >
> > > Our ACC devices are fake pci endpoint devices which supports stall,
> > > And they also supports sriov
> > >
> > > So I have to ignore the limitation.
> > I see, so that is more complicated.
> >
> > Lu, what do you think about also checking if the PCI function has PRI
> > ? If not PRI assume the fault is special and doesn't follow PRI rules?
> >
> > Or maybe we can have the iommu driver tag the event as a PRI/not-PRI
> > fault?
>
> This limitation applies to PRI on PCI/SRIOV VFs because the PRI might be
> a shared resource and current iommu subsystem is not ready to support
> enabling/disabling PRI on a VF without any impact on others.
>
> In my understanding, it's fine to remove this limitation from the use
> case of non-PRI on SRIOV VFs. Perhaps something like below?
>
> if (dev_is_pci(dev)) {
> struct pci_dev *pdev = to_pci_dev(dev);
> if (pdev->is_virtfn && pci_pri_supported(pdev))
> return -EINVAL;
> }
Makes sense to me
Thanks,
Jason