Messages in this thread | | | Date | Fri, 15 Dec 2023 09:51:10 +0800 | Subject | Re: [PATCH 2/2] iommu/vt-d: don's issue devTLB flush request when device is disconnected | From | Ethan Zhao <> |
| |
On 12/15/2023 9:34 AM, Baolu Lu wrote: > On 2023/12/15 9:03, Ethan Zhao wrote: >> >> 2. supprise_removal >> >> Users remove the devece directly or bring the device link down/turn >> off >> >> device power first by setting pci config space, link-down/not-present/ >> >> power-off are all handled by pciehp the same way >> "supprise_removal", in >> >> such case, pciehp_ist() will flag the device as "disconnected" >> first, then >> >> unconfig the devcie, unload driver, iommu release device(issing >> devTLB flush) >> >> delete device. so we checking the device state could work such cases. > > If so, then it is fine for the iommu driver. As Robin said, if the > device needs more cleanup, the iommu core should register a right > callback to the driver core and handle it before the device goes away. > > Disabling PCI features seems to be a reasonable device cleanup. This > gives us another reason to move ATS enabling/disabling out from the
For supprise_removal, device was already removed, powered-off, iommu
device-release got notification or cleanup callback is invoked to disable
ATS to not-present device etc ,
I didn't get the meaning to do so, perhaps I misunderstand ?
Thanks,
Ethan
> iommu subsystem. Once this is done, the device driver will enable ATS > during its probe and disable it during its release. There will be no > such workaround in the iommu driver anymore. > > Best regards, > baolu
| |