Messages in this thread | | | Date | Fri, 24 Jun 2022 15:56:20 +0800 | Subject | Re: [PATCH v3 1/1] iommu/vt-d: Fix RID2PASID setup/teardown failure | From | Ethan Zhao <> |
| |
在 2022/6/24 14:54, Baolu Lu 写道: > On 2022/6/24 14:02, Ethan Zhao wrote: >> 在 2022/6/23 14:57, Lu Baolu 写道: >>> The IOMMU driver shares the pasid table for PCI alias devices. When the >>> RID2PASID entry of the shared pasid table has been filled by the first >>> device, the subsequent device will encounter the "DMAR: Setup RID2PASID >>> failed" failure as the pasid entry has already been marked as present. >>> As the result, the IOMMU probing process will be aborted. >>> >>> On the contrary, when any alias device is hot-removed from the system, >>> for example, by writing to /sys/bus/pci/devices/.../remove, the shared >>> RID2PASID will be cleared without any notifications to other devices. >>> As the result, any DMAs from those rest devices are blocked. >>> >>> Sharing pasid table among PCI alias devices could save two memory pages >>> for devices underneath the PCIe-to-PCI bridges. Anyway, considering >>> that >>> those devices are rare on modern platforms that support VT-d in >>> scalable >>> mode and the saved memory is negligible, it's reasonable to remove this >>> part of immature code to make the driver feasible and stable. >> In my understanding, thus cleanning will make the pasid table become >> per-dev datastructure whatever the dev is pci-alias or not, and the >> pasid_pte_is_present(pte)will only check against every pci-alias' own >> private pasid table,the setup stagewouldn't break, so does the >> detach/release path, and little value to code otherreference counter >> like complex implenmataion, looks good to me ! > > Thanks! Can I add a Reviewd-by from you? Sure ! > > Best regards, > baolu
-- "firm, enduring, strong, and long-lived"
| |