Messages in this thread | | | From | "Tian, Kevin" <> | Subject | RE: [PATCH RFC 10/11] iommu: Make IOPF handling framework generic | Date | Tue, 22 Mar 2022 01:00:08 +0000 |
| |
> From: Jean-Philippe Brucker <jean-philippe@linaro.org> > Sent: Monday, March 21, 2022 7:42 PM > > Hi Kevin, > > On Mon, Mar 21, 2022 at 08:09:36AM +0000, Tian, Kevin wrote: > > > From: Lu Baolu <baolu.lu@linux.intel.com> > > > Sent: Sunday, March 20, 2022 2:40 PM > > > > > > The existing IOPF handling framework only handles the I/O page faults for > > > SVA. Ginven that we are able to link iommu domain with each I/O page > fault, > > > we can now make the I/O page fault handling framework more general > for > > > more types of page faults. > > > > "make ... generic" in subject line is kind of confusing. Reading this patch I > > think you really meant changing from per-device fault handling to per- > domain > > fault handling. This is more accurate in concept since the fault is caused by > > the domain page table. 😊 > > I tend to disagree with that last part. The fault is caused by a specific > device accessing shared page tables. We should keep that device > information throughout the fault handling, so that we can report it to the > driver when things go wrong. A process can have multiple threads bound to > different devices, they share the same mm so if the driver wanted to > signal a misbehaving thread, similarly to a SEGV on the CPU side, it would > need the device information to precisely report it to userspace. >
iommu driver can include the device information in the fault data. But in concept the IOPF should be reported per domain.
and I agree with Jason that at most we can send SEGV to the entire thread group since there is no way to associate a DMA back to a thread which initiates the DMA.
Thanks Kevin
| |