From: Jason Gunthorpe <jgg@ziepe.ca>
To: Baolu Lu <baolu.lu@linux.intel.com>
Cc: Vasant Hegde <vasant.hegde@amd.com>,
Tina Zhang <tina.zhang@intel.com>,
Kevin Tian <kevin.tian@intel.com>,
Michael Shavit <mshavit@google.com>,
iommu@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 4/5] iommu: Support mm PASID 1:n with sva domains
Date: Thu, 31 Aug 2023 13:56:19 -0300 [thread overview]
Message-ID: <ZPDGM2YWvTAhk4tE@ziepe.ca> (raw)
In-Reply-To: <ef751928-7123-6840-f080-ca63e24e5ece@linux.intel.com>
On Thu, Aug 31, 2023 at 03:35:36PM +0800, Baolu Lu wrote:
> On 2023/8/31 14:42, Vasant Hegde wrote:
> > > > Also in this function (mm_pasid_drop()), should we check/free sva domains?
> > > No, the driver must support a SVA domain with an empty mm_struct, eg
> > > by hooking release.
> > Sorry. Looks like confused you. Looking into code I got this.
> >
> > My question was: when PASID is enabled, is there any chance of mm_pasid_drop()
> > getting called before freeing all SVA domains?
>
> I remember we have discussed this during sva development. If I remember
> it correctly, in any case, mm_pasid_drop() will be called after the
> device is closed.
Yes, we guarentee this because the SVA domain should be holding a
mmgrab on the mm_struct while it exists. The mmdrop cannot happen
until the SVA domain is freed which puts back that ref.
But drivers must not make any assumptions about this, the lifecycle of
the PASID is a core concern, so long as the driver is asked to attach
a domain to a PASID it should assume the PASID is valid.
A driver should *never* look at the mm_struct PASID, all the examples
of this in-tree today are wrong.
Jason
next prev parent reply other threads:[~2023-08-31 16:56 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-27 8:43 [PATCH v2 0/5] Share sva domains with all devices bound to a mm Tina Zhang
2023-08-27 8:43 ` [PATCH v2 1/5] iommu: Add mm_get_enqcmd_pasid() helper function Tina Zhang
2023-08-31 2:06 ` Baolu Lu
2023-09-01 2:36 ` Zhang, Tina
2023-08-27 8:43 ` [PATCH v2 2/5] iommu: Introduce mm_get_pasid() " Tina Zhang
2023-08-31 2:24 ` Baolu Lu
2023-08-31 17:01 ` Jason Gunthorpe
2023-08-31 5:14 ` Baolu Lu
2023-08-31 17:02 ` Jason Gunthorpe
2023-09-01 3:29 ` Zhang, Tina
2023-08-27 8:43 ` [PATCH v2 3/5] mm: Add structure to keep sva information Tina Zhang
2023-08-31 2:45 ` Baolu Lu
2023-09-01 3:36 ` Zhang, Tina
2023-09-01 3:49 ` Baolu Lu
2023-08-27 8:44 ` [PATCH v2 4/5] iommu: Support mm PASID 1:n with sva domains Tina Zhang
2023-08-28 8:32 ` Vasant Hegde
2023-08-28 9:10 ` Zhang, Tina
2023-08-31 6:32 ` Vasant Hegde
2023-08-30 20:36 ` Jason Gunthorpe
2023-08-31 6:42 ` Vasant Hegde
2023-08-31 7:35 ` Baolu Lu
2023-08-31 16:56 ` Jason Gunthorpe [this message]
2023-08-31 7:21 ` Baolu Lu
2023-08-27 8:44 ` [PATCH v2 5/5] mm: Deprecate pasid field Tina Zhang
2023-08-29 14:18 ` Niklas Schnelle
2023-08-31 7:39 ` Baolu Lu
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=ZPDGM2YWvTAhk4tE@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=baolu.lu@linux.intel.com \
--cc=iommu@lists.linux.dev \
--cc=kevin.tian@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mshavit@google.com \
--cc=tina.zhang@intel.com \
--cc=vasant.hegde@amd.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.