iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Jean-Philippe Brucker <jean-philippe@linaro.org>
To: "Tian, Kevin" <kevin.tian@intel.com>
Cc: "Raj, Ashok" <ashok.raj@intel.com>,
	Robin Murphy <robin.murphy@arm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Christoph Hellwig <hch@infradead.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.com>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	"Pan, Jacob jun" <jacob.jun.pan@intel.com>,
	Jason Gunthorpe <jgg@nvidia.com>, Will Deacon <will@kernel.org>
Subject: Re: [PATCH RFC 10/11] iommu: Make IOPF handling framework generic
Date: Tue, 22 Mar 2022 10:06:14 +0000	[thread overview]
Message-ID: <YjmflimaXyM/IZhk@myrica> (raw)
In-Reply-To: <BN9PR11MB52769EBCAE7E3EBB6D6AF1328C179@BN9PR11MB5276.namprd11.prod.outlook.com>

On Tue, Mar 22, 2022 at 01:00:08AM +0000, Tian, Kevin wrote:
> > 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.

So I don't remember where we left off on that topic, what about fault
injection into guests?  In that case device info is more than just
diagnostic, fault injection can't work without it. I think we talked about
passing a device cookie to userspace, just want to make sure.

> 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.

The point is providing the most accurate information to the device driver
for diagnostics and debugging. A process opens multiple queues to
different devices, then if one of the queues issues invalid DMA, the
driver won't even know which queue is broken if you only report the target
mm and not the source dev. I don't think we gain anything from discarding
the device information from the fault path.

Thanks,
Jean
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

  reply	other threads:[~2022-03-22 10:06 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-20  6:40 [PATCH RFC 00/11] iommu: SVA and IOPF refactoring Lu Baolu
2022-03-20  6:40 ` [PATCH RFC 01/11] iommu: Add pasid_bits field in struct dev_iommu Lu Baolu
2022-03-21  7:01   ` Tian, Kevin
2022-03-21 10:22     ` Lu Baolu
2022-03-22  0:26       ` Tian, Kevin
2022-03-22  0:48         ` Lu Baolu
2022-03-21 11:22   ` Jean-Philippe Brucker
2022-03-22  0:45     ` Lu Baolu
2022-03-20  6:40 ` [PATCH RFC 02/11] iommu: Add iommu_domain type for SVA Lu Baolu
2022-03-21  7:06   ` Tian, Kevin
2022-03-21 10:23     ` Lu Baolu
2022-03-21 11:47   ` Jason Gunthorpe via iommu
2022-03-22  0:54     ` Lu Baolu
2022-03-20  6:40 ` [PATCH RFC 03/11] iommu: Add attach/detach_dev_pasid domain ops Lu Baolu
2022-03-21  7:13   ` Tian, Kevin
2022-03-21 10:27     ` Lu Baolu
2022-03-21 11:53     ` Jason Gunthorpe via iommu
2022-03-20  6:40 ` [PATCH RFC 04/11] iommu/vt-d: Add SVA domain support Lu Baolu
2022-03-21  7:45   ` Tian, Kevin
2022-03-21 10:37     ` Lu Baolu
2022-03-21 11:56   ` Jason Gunthorpe via iommu
2022-03-22  4:25     ` Lu Baolu
2022-03-20  6:40 ` [PATCH RFC 05/11] arm-smmu-v3/sva: " Lu Baolu
2022-03-21 11:31   ` Jean-Philippe Brucker
2022-03-21 11:58     ` Jason Gunthorpe via iommu
2022-03-20  6:40 ` [PATCH RFC 06/11] iommu/sva: Use attach/detach_pasid_dev in SVA interfaces Lu Baolu
2022-03-21  8:04   ` Tian, Kevin
2022-03-21 11:01     ` Lu Baolu
2022-03-21 12:03       ` Jason Gunthorpe via iommu
2022-03-21 11:33   ` Jean-Philippe Brucker
2022-03-22  4:29     ` Lu Baolu
2022-03-21 12:05   ` Jason Gunthorpe via iommu
2022-03-22  4:31     ` Lu Baolu
2022-03-20  6:40 ` [PATCH RFC 07/11] iommu: Remove SVA related callbacks from iommu ops Lu Baolu
2022-03-20  6:40 ` [PATCH RFC 08/11] iommu: Handle IO page faults directly Lu Baolu
2022-03-21 11:35   ` Jean-Philippe Brucker
2022-03-22  0:39     ` Tian, Kevin
2022-03-20  6:40 ` [PATCH RFC 09/11] iommu: Add iommu_get_domain_for_dev_pasid() Lu Baolu
2022-03-21 12:40   ` Jason Gunthorpe via iommu
2022-03-22  4:50     ` Lu Baolu
2022-03-20  6:40 ` [PATCH RFC 10/11] iommu: Make IOPF handling framework generic Lu Baolu
2022-03-21  8:09   ` Tian, Kevin
2022-03-21 11:42     ` Jean-Philippe Brucker
2022-03-21 12:43       ` Jason Gunthorpe via iommu
2022-03-22  5:03         ` Lu Baolu
2022-03-22 10:02           ` Jean-Philippe Brucker
2022-03-22 12:15           ` Jason Gunthorpe via iommu
2022-03-22  1:00       ` Tian, Kevin
2022-03-22 10:06         ` Jean-Philippe Brucker [this message]
2022-03-22 10:24           ` Tian, Kevin
2022-03-22 10:50             ` Jean-Philippe Brucker
2022-03-21 11:39   ` Jean-Philippe Brucker
2022-03-22  5:28     ` Lu Baolu
2022-03-21 12:50   ` Jason Gunthorpe via iommu
2022-03-22  5:48     ` Lu Baolu
2022-03-20  6:40 ` [PATCH RFC 11/11] iommu: Rename iommu-sva-lib.{c,h} Lu Baolu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YjmflimaXyM/IZhk@myrica \
    --to=jean-philippe@linaro.org \
    --cc=ashok.raj@intel.com \
    --cc=hch@infradead.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jacob.jun.pan@intel.com \
    --cc=jean-philippe@linaro.com \
    --cc=jgg@nvidia.com \
    --cc=kevin.tian@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).