All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@nvidia.com>
To: Robin Murphy <robin.murphy@arm.com>
Cc: Vasant Hegde <vasant.hegde@amd.com>,
	iommu@lists.linux.dev, joro@8bytes.org, will@kernel.org,
	suravee.suthikulpanit@amd.com, yi.l.liu@intel.com,
	baolu.lu@linux.intel.com, kevin.tian@intel.com,
	jacob.pan@linux.microsoft.com
Subject: Re: [PATCH v4 02/12] iommu: Introduce iommu_paging_domain_alloc_flags()
Date: Wed, 23 Oct 2024 11:44:49 -0300	[thread overview]
Message-ID: <20241023144449.GH864191@nvidia.com> (raw)
In-Reply-To: <c683ddc1-981e-498b-be27-32d887f95c1c@arm.com>

On Wed, Oct 23, 2024 at 03:26:48PM +0100, Robin Murphy wrote:
> On 2024-10-23 11:41 am, Vasant Hegde wrote:
> > From: Jason Gunthorpe <jgg@ziepe.ca>
> > 
> > Currently drivers calls iommu_paging_domain_alloc(dev) to get an
> > UNMANAGED domain. This is not sufficient to support PASID with
> > UNMANAGED domain as some HW like AMD requires certain page table type
> > to support PASIDs.
> > 
> > Also the domain_alloc_paging op only passes device as param for domain
> > allocation. This is not sufficient for AMD driver to decide the right
> > page table.
> > 
> > Instead of extending ops->domain_alloc_paging() it was decided to
> > enhance ops->domain_alloc_user() so that caller can pass various
> > additional flags.
> 
> Wait, what? So iommu_paging_domain_alloc_flags() opaquely may or may not
> actually allocate a regular paging domain or a user domain 

There is no such thing as a "user domain".

> depending on the flags? But then per patch #3 we allocate default
> domains - the most kernel-owned of all - as *user* domains,

We are going to rename domain_alloc_user() once this lands and the
dust settled, it's purpose has now expanded. I'm going to try to do it
for rc7 when all the branches are together.

> return an unfinished non-user domain, in spite of the explicitly documented
> behaviour:

> | Unlike @domain_alloc, it is called only by IOMMUFD and
> | must fully initialize the new domain before return.
> 
> ???

That remark about "called only by iommufd" should be removed in this
series.

> This is insane. Please implement it in manner which is not insane.

There are more steps, calm down.

Jason

  reply	other threads:[~2024-10-23 14:45 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-23 10:41 [PATCH v4 00/12] iommu: Domain allocation enhancements Vasant Hegde
2024-10-23 10:41 ` [PATCH v4 01/12] iommu: Refactor __iommu_domain_alloc() Vasant Hegde
2024-10-23 10:41 ` [PATCH v4 02/12] iommu: Introduce iommu_paging_domain_alloc_flags() Vasant Hegde
2024-10-23 14:26   ` Robin Murphy
2024-10-23 14:44     ` Jason Gunthorpe [this message]
2024-10-25  8:22   ` Tian, Kevin
2024-10-23 10:41 ` [PATCH v4 03/12] iommu: Add new flag to explictly request PASID capable domain Vasant Hegde
2024-10-23 11:11   ` Baolu Lu
2024-10-25  8:23   ` Tian, Kevin
2024-10-23 10:41 ` [PATCH v4 04/12] iommu/arm-smmu-v3: Enhance domain_alloc_user() to allocate " Vasant Hegde
2024-10-23 12:23   ` Jason Gunthorpe
2024-10-25  8:23   ` Tian, Kevin
2024-10-23 10:42 ` [PATCH v4 05/12] iommu/amd: Add helper function to check GIOSUP/GTSUP Vasant Hegde
2024-10-23 10:42 ` [PATCH v4 06/12] iommu/amd: Move V2 page table support check to early_amd_iommu_init() Vasant Hegde
2024-10-23 10:42 ` [PATCH v4 07/12] iommu/amd: Separate page table setup from domain allocation Vasant Hegde
2024-10-23 10:42 ` [PATCH v4 08/12] iommu/amd: Pass page table type as param to pdom_setup_pgtable() Vasant Hegde
2024-10-23 10:42 ` [PATCH v4 09/12] iommu/amd: Enhance amd_iommu_domain_alloc_user() Vasant Hegde
2024-10-23 12:46   ` Jason Gunthorpe
2024-10-24  6:38     ` Vasant Hegde
2024-10-25  8:24     ` Tian, Kevin
2024-10-23 10:42 ` [PATCH v4 10/12] iommu/amd: Implement global identity domain Vasant Hegde
2024-10-25  8:24   ` Tian, Kevin
2024-10-23 10:42 ` [PATCH v4 11/12] iommu: Put domain allocation in __iommu_group_alloc_blocking_domain() Vasant Hegde
2024-10-25  8:25   ` Tian, Kevin
2024-10-23 10:42 ` [PATCH v4 12/12] iommu: Create __iommu_alloc_identity_domain() Vasant Hegde
2024-10-25  8:25   ` Tian, Kevin

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=20241023144449.GH864191@nvidia.com \
    --to=jgg@nvidia.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=iommu@lists.linux.dev \
    --cc=jacob.pan@linux.microsoft.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.com \
    --cc=robin.murphy@arm.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=vasant.hegde@amd.com \
    --cc=will@kernel.org \
    --cc=yi.l.liu@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.