iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Baolu Lu <baolu.lu@linux.intel.com>
To: "Tian, Kevin" <kevin.tian@intel.com>, Jason Gunthorpe <jgg@nvidia.com>
Cc: baolu.lu@linux.intel.com, Joerg Roedel <joro@8bytes.org>,
	Christoph Hellwig <hch@infradead.org>,
	"Raj, Ashok" <ashok.raj@intel.com>, Will Deacon <will@kernel.org>,
	Robin Murphy <robin.murphy@arm.com>,
	Jean-Philippe Brucker <jean-philippe@linaro.com>,
	"Jiang, Dave" <dave.jiang@intel.com>,
	Vinod Koul <vkoul@kernel.org>, Eric Auger <eric.auger@redhat.com>,
	"Liu, Yi L" <yi.l.liu@intel.com>,
	"Pan, Jacob jun" <jacob.jun.pan@intel.com>,
	Zhangfei Gao <zhangfei.gao@linaro.org>,
	"Zhu, Tony" <tony.zhu@intel.com>,
	"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>
Subject: Re: [PATCH v10 04/12] iommu: Add attach/detach_dev_pasid iommu interface
Date: Sat, 30 Jul 2022 14:17:40 +0800	[thread overview]
Message-ID: <01a591dc-4918-3c8d-e3f4-b4b738919ee5@linux.intel.com> (raw)
In-Reply-To: <BN9PR11MB5276ED7CE0C8CE192B4EACB68C999@BN9PR11MB5276.namprd11.prod.outlook.com>

On 2022/7/29 12:22, Tian, Kevin wrote:
>> From: Baolu Lu <baolu.lu@linux.intel.com>
>> Sent: Friday, July 29, 2022 11:21 AM
>>
>> On 2022/7/29 10:56, Tian, Kevin wrote:
>>>> +static bool iommu_group_device_pasid_viable(struct iommu_group
>> *group,
>>>> +					    struct device *dev)
>>>> +{
>>>> +	int count;
>>>> +
>>>> +	count = iommu_group_device_count(group);
>>>> +	if (count != 1)
>>>> +		return false;
>>>> +
>>>> +	/*
>>>> +	 * Block PASID attachment in cases where the PCI fabric is
>>>> +	 * routing based on address. PCI/ACS disables that.
>>>> +	 */
>>>> +	if (dev_is_pci(dev))
>>>> +		return pci_acs_path_enabled(to_pci_dev(dev), NULL,
>>>> +					    REQ_ACS_FLAGS);
>>> I think we are leaning toward doing above check in pci_enable_pasid().
>>> Then no singleton check inside iommu core.
>>
>> The iommu grouping also considers other things, like PCI alias. There
>> are many calls of pci_add_dma_alias() in drivers/pci/quirks.c.
>> Therefore, I believe that pci_acs_path_enabled() returning true doesn't
>> guarantees a singleton group.
> 
> Is there an actual problem of sharing PASID table between aliasing RIDs?
> As long as ACS is enabled the device is isolated from other devices
> in the fabric. DMA aliases don't change that fact and there is no p2p
> between aliasing RIDs.

Yes. Agreed.

At present, the visible PASID use cases only occur on the singleton
groups, so we can start to support it from this simple situation. In the
future, if the multi-device groups need to support pasid, we can simply
apply the domain to the PASIDs of all device of the group.

> 
>>
>>>
>>> Presumably similar check can be done in DT/ACPI path of enabling pasid?
>>>
>>
>> I can't find the pasid (or anything similar) enabling interfaces for
>> DT or ACPI. They are device specific?
>>
> 
> Looks only PCI PASID is supported so far. both in Intel/ARM/AMD
> drivers. If other buses will support PASID one day, then ACS-equivalent
> can be also checked in their PASID enabling APIs.

Yes. Fair enough.

Best regards,
baolu

  reply	other threads:[~2022-07-30  6:17 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-05  5:06 [PATCH v10 00/12] iommu: SVA and IOPF refactoring Lu Baolu
2022-07-05  5:06 ` [PATCH v10 01/12] iommu: Add max_pasids field in struct iommu_device Lu Baolu
2022-07-23 13:57   ` Jason Gunthorpe
2022-07-31 11:54   ` Yi Liu
2022-07-31 13:33     ` Baolu Lu
2022-07-05  5:07 ` [PATCH v10 02/12] iommu: Add max_pasids field in struct dev_iommu Lu Baolu
2022-07-23 14:02   ` Jason Gunthorpe
2022-07-31 11:55   ` Yi Liu
2022-07-05  5:07 ` [PATCH v10 03/12] iommu: Remove SVM_FLAG_SUPERVISOR_MODE support Lu Baolu
2022-07-31 12:01   ` Yi Liu
2022-07-31 13:39     ` Baolu Lu
2022-07-05  5:07 ` [PATCH v10 04/12] iommu: Add attach/detach_dev_pasid iommu interface Lu Baolu
2022-07-07  1:51   ` Tian, Kevin
2022-07-23 14:11   ` Jason Gunthorpe
2022-07-24  7:03     ` Baolu Lu
2022-07-25 14:40       ` Jason Gunthorpe
2022-07-26  6:23         ` Baolu Lu
2022-07-26 13:57           ` Jason Gunthorpe
2022-07-27  3:20             ` Tian, Kevin
2022-07-27 11:53               ` Jason Gunthorpe
2022-07-28  3:06                 ` Tian, Kevin
2022-07-28 11:59                   ` Jason Gunthorpe
2022-07-29  2:49                     ` Baolu Lu
2022-07-29  2:56                       ` Tian, Kevin
2022-07-29  3:20                         ` Baolu Lu
2022-07-29  4:22                           ` Tian, Kevin
2022-07-30  6:17                             ` Baolu Lu [this message]
2022-07-29  2:51                     ` Tian, Kevin
2022-07-29 12:22                       ` Jason Gunthorpe
2022-07-30  6:23                         ` Baolu Lu
2022-07-28  2:44             ` Baolu Lu
2022-07-28  6:27               ` Baolu Lu
2022-08-02  2:19             ` Baolu Lu
2022-08-02 12:37               ` Jason Gunthorpe
2022-08-03 13:07                 ` Baolu Lu
2022-08-03 19:03                   ` Jason Gunthorpe
2022-08-04  2:03                     ` Tian, Kevin
2022-08-04  2:42                     ` Baolu Lu
2022-07-24  7:23     ` Baolu Lu
2022-07-24  8:39     ` Baolu Lu
2022-07-24  9:13     ` Baolu Lu
2022-07-25  7:46       ` Tian, Kevin
2022-07-25 10:11         ` Baolu Lu
2022-07-31 12:10   ` Yi Liu
2022-07-05  5:07 ` [PATCH v10 05/12] iommu: Add IOMMU SVA domain support Lu Baolu
2022-07-07  1:52   ` Tian, Kevin
2022-07-07  3:01     ` Baolu Lu
2022-07-23 14:15   ` Jason Gunthorpe
2022-07-31 12:19   ` Yi Liu
2022-07-05  5:07 ` [PATCH v10 06/12] iommu/vt-d: Add " Lu Baolu
2022-07-23 14:16   ` Jason Gunthorpe
2022-07-31 12:20   ` Yi Liu
2022-07-05  5:07 ` [PATCH v10 07/12] arm-smmu-v3/sva: " Lu Baolu
2022-07-23 14:20   ` Jason Gunthorpe
2022-07-24 11:58     ` Baolu Lu
2022-07-05  5:07 ` [PATCH v10 08/12] iommu/sva: Refactoring iommu_sva_bind/unbind_device() Lu Baolu
2022-07-05 17:43   ` Jean-Philippe Brucker
2022-07-07  1:56   ` Tian, Kevin
2022-07-07  3:02     ` Baolu Lu
2022-07-23 14:26   ` Jason Gunthorpe
2022-07-24 13:48     ` Baolu Lu
2022-07-25  7:39       ` Jean-Philippe Brucker
2022-07-25  8:02         ` Tian, Kevin
2022-07-25  8:47           ` Jean-Philippe Brucker
2022-07-25  9:33         ` Baolu Lu
2022-07-25  9:52           ` Jean-Philippe Brucker
2022-07-25 14:46             ` Jason Gunthorpe
2022-07-25  7:50       ` Tian, Kevin
2022-07-25 10:22         ` Baolu Lu
2022-07-25 14:47           ` Jason Gunthorpe
2022-07-26  8:47             ` Baolu Lu
2022-07-31 12:36   ` Yi Liu
2022-07-31 13:45     ` Baolu Lu
2022-07-31 12:55   ` Yi Liu
2022-07-31 13:51     ` Baolu Lu
2022-07-05  5:07 ` [PATCH v10 09/12] iommu: Remove SVA related callbacks from iommu ops Lu Baolu
2022-07-23 14:27   ` Jason Gunthorpe
2022-07-31 12:38   ` Yi Liu
2022-07-05  5:07 ` [PATCH v10 10/12] iommu: Prepare IOMMU domain for IOPF Lu Baolu
2022-07-07  1:58   ` Tian, Kevin
2022-07-23 14:33   ` Jason Gunthorpe
2022-07-24 14:04     ` Baolu Lu
2022-07-25 14:49       ` Jason Gunthorpe
2022-07-31 12:50   ` Yi Liu
2022-07-31 13:47     ` Baolu Lu
2022-07-05  5:07 ` [PATCH v10 11/12] iommu: Per-domain I/O page fault handling Lu Baolu
2022-07-07  2:06   ` Tian, Kevin
2022-07-23 14:34   ` Jason Gunthorpe
2022-07-05  5:07 ` [PATCH v10 12/12] iommu: Rename iommu-sva-lib.{c,h} Lu Baolu
2022-07-23 14:34   ` Jason Gunthorpe

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=01a591dc-4918-3c8d-e3f4-b4b738919ee5@linux.intel.com \
    --to=baolu.lu@linux.intel.com \
    --cc=ashok.raj@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=eric.auger@redhat.com \
    --cc=hch@infradead.org \
    --cc=iommu@lists.linux.dev \
    --cc=jacob.jun.pan@intel.com \
    --cc=jean-philippe@linaro.com \
    --cc=jean-philippe@linaro.org \
    --cc=jgg@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=tony.zhu@intel.com \
    --cc=vkoul@kernel.org \
    --cc=will@kernel.org \
    --cc=yi.l.liu@intel.com \
    --cc=zhangfei.gao@linaro.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).