All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vasant Hegde <vasant.hegde@amd.com>
To: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Tina Zhang <tina.zhang@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Lu Baolu <baolu.lu@linux.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 12:12:58 +0530	[thread overview]
Message-ID: <20b44fe8-33ba-d6ae-110e-a82a19390bcc@amd.com> (raw)
In-Reply-To: <ZO+oRPOf9jyNG2+B@ziepe.ca>

On 8/31/2023 2:06 AM, Jason Gunthorpe wrote:
> On Mon, Aug 28, 2023 at 02:02:52PM +0530, Vasant Hegde wrote:
> 
>> I am not sure whether I understood the flow completely. Just wondering why you
>> are not freeing pasid in iommu_sva_unbind_device().
>> I mean once iommu_mm->sva_domains becomes free shouldn't we free the
>> iommu_mm->pasid?
> 
> No, for Intel use cases that PASID permanently becomes part of the
> ENQCMD MSR and cannot be revoked once it has been set
>  

Fair enough.

Patch description did explain it to some extent. ("The PASID is released in
__mmdrop()"). May be this needs to be expanded to cover why pasid is not
released in iommu_sva_unbind_device().


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

-Vasant

  reply	other threads:[~2023-08-31  6:43 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 [this message]
2023-08-31  7:35         ` Baolu Lu
2023-08-31 16:56           ` Jason Gunthorpe
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=20b44fe8-33ba-d6ae-110e-a82a19390bcc@amd.com \
    --to=vasant.hegde@amd.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=iommu@lists.linux.dev \
    --cc=jgg@ziepe.ca \
    --cc=kevin.tian@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mshavit@google.com \
    --cc=tina.zhang@intel.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.