From: Auger Eric <eric.auger@redhat.com>
To: Jean-Philippe Brucker <jean-philippe@linaro.org>,
"Liu, Yi L" <yi.l.liu@intel.com>
Cc: "Tian, Kevin" <kevin.tian@intel.com>,
"Raj, Ashok" <ashok.raj@intel.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"stefanha@gmail.com" <stefanha@gmail.com>,
"Sun, Yi Y" <yi.y.sun@intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"alex.williamson@redhat.com" <alex.williamson@redhat.com>,
"iommu@lists.linux-foundation.org"
<iommu@lists.linux-foundation.org>,
Robin Murphy <robin.murphy@arm.com>, "Wu, Hao" <hao.wu@intel.com>,
Will Deacon <will@kernel.org>,
"Tian, Jun J" <jun.j.tian@intel.com>
Subject: Re: [PATCH v5 03/15] iommu/smmu: Report empty domain nesting info
Date: Thu, 16 Jul 2020 22:38:17 +0200 [thread overview]
Message-ID: <f3779a69-0295-d668-5f2f-746b6ff2bdce@redhat.com> (raw)
In-Reply-To: <20200716153959.GA447208@myrica>
Hi Jean,
On 7/16/20 5:39 PM, Jean-Philippe Brucker wrote:
> On Tue, Jul 14, 2020 at 10:12:49AM +0000, Liu, Yi L wrote:
>>> Have you verified that this doesn't break the existing usage of
>>> DOMAIN_ATTR_NESTING in drivers/vfio/vfio_iommu_type1.c?
>>
>> I didn't have ARM machine on my hand. But I contacted with Jean
>> Philippe, he confirmed no compiling issue. I didn't see any code
>> getting DOMAIN_ATTR_NESTING attr in current drivers/vfio/vfio_iommu_type1.c.
>> What I'm adding is to call iommu_domai_get_attr(, DOMAIN_ATTR_NESTIN)
>> and won't fail if the iommu_domai_get_attr() returns 0. This patch
>> returns an empty nesting info for DOMAIN_ATTR_NESTIN and return
>> value is 0 if no error. So I guess it won't fail nesting for ARM.
>
> I confirm that this series doesn't break the current support for
> VFIO_IOMMU_TYPE1_NESTING with an SMMUv3. That said...
>
> If the SMMU does not support stage-2 then there is a change in behavior
> (untested): after the domain is silently switched to stage-1 by the SMMU
> driver, VFIO will now query nesting info and obtain -ENODEV. Instead of
> succeding as before, the VFIO ioctl will now fail. I believe that's a fix
> rather than a regression, it should have been like this since the
> beginning. No known userspace has been using VFIO_IOMMU_TYPE1_NESTING so
> far, so I don't think it should be a concern.
But as Yi mentioned ealier, in the current vfio code there is no
DOMAIN_ATTR_NESTING query yet. In my SMMUV3 nested stage series, I added
such a query in vfio-pci.c to detect if I need to expose a fault region
but I already test both the returned value and the output arg. So to me
there is no issue with that change.
>
> And if userspace queries the nesting properties using the new ABI
> introduced in this patchset, it will obtain an empty struct. I think
> that's acceptable, but it may be better to avoid adding the nesting cap if
> @format is 0?
agreed
Thanks
Eric
>
> Thanks,
> Jean
>
>>
>> @Eric, how about your opinion? your dual-stage vSMMU support may
>> also share the vfio_iommu_type1.c code.
>>
>> Regards,
>> Yi Liu
>>
>>> Will
>
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
WARNING: multiple messages have this Message-ID (diff)
From: Auger Eric <eric.auger@redhat.com>
To: Jean-Philippe Brucker <jean-philippe@linaro.org>,
"Liu, Yi L" <yi.l.liu@intel.com>
Cc: Will Deacon <will@kernel.org>,
"alex.williamson@redhat.com" <alex.williamson@redhat.com>,
"baolu.lu@linux.intel.com" <baolu.lu@linux.intel.com>,
"joro@8bytes.org" <joro@8bytes.org>,
"Tian, Kevin" <kevin.tian@intel.com>,
"jacob.jun.pan@linux.intel.com" <jacob.jun.pan@linux.intel.com>,
"Raj, Ashok" <ashok.raj@intel.com>,
"Tian, Jun J" <jun.j.tian@intel.com>,
"Sun, Yi Y" <yi.y.sun@intel.com>,
"peterx@redhat.com" <peterx@redhat.com>,
"Wu, Hao" <hao.wu@intel.com>,
"stefanha@gmail.com" <stefanha@gmail.com>,
"iommu@lists.linux-foundation.org"
<iommu@lists.linux-foundation.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Robin Murphy <robin.murphy@arm.com>
Subject: Re: [PATCH v5 03/15] iommu/smmu: Report empty domain nesting info
Date: Thu, 16 Jul 2020 22:38:17 +0200 [thread overview]
Message-ID: <f3779a69-0295-d668-5f2f-746b6ff2bdce@redhat.com> (raw)
In-Reply-To: <20200716153959.GA447208@myrica>
Hi Jean,
On 7/16/20 5:39 PM, Jean-Philippe Brucker wrote:
> On Tue, Jul 14, 2020 at 10:12:49AM +0000, Liu, Yi L wrote:
>>> Have you verified that this doesn't break the existing usage of
>>> DOMAIN_ATTR_NESTING in drivers/vfio/vfio_iommu_type1.c?
>>
>> I didn't have ARM machine on my hand. But I contacted with Jean
>> Philippe, he confirmed no compiling issue. I didn't see any code
>> getting DOMAIN_ATTR_NESTING attr in current drivers/vfio/vfio_iommu_type1.c.
>> What I'm adding is to call iommu_domai_get_attr(, DOMAIN_ATTR_NESTIN)
>> and won't fail if the iommu_domai_get_attr() returns 0. This patch
>> returns an empty nesting info for DOMAIN_ATTR_NESTIN and return
>> value is 0 if no error. So I guess it won't fail nesting for ARM.
>
> I confirm that this series doesn't break the current support for
> VFIO_IOMMU_TYPE1_NESTING with an SMMUv3. That said...
>
> If the SMMU does not support stage-2 then there is a change in behavior
> (untested): after the domain is silently switched to stage-1 by the SMMU
> driver, VFIO will now query nesting info and obtain -ENODEV. Instead of
> succeding as before, the VFIO ioctl will now fail. I believe that's a fix
> rather than a regression, it should have been like this since the
> beginning. No known userspace has been using VFIO_IOMMU_TYPE1_NESTING so
> far, so I don't think it should be a concern.
But as Yi mentioned ealier, in the current vfio code there is no
DOMAIN_ATTR_NESTING query yet. In my SMMUV3 nested stage series, I added
such a query in vfio-pci.c to detect if I need to expose a fault region
but I already test both the returned value and the output arg. So to me
there is no issue with that change.
>
> And if userspace queries the nesting properties using the new ABI
> introduced in this patchset, it will obtain an empty struct. I think
> that's acceptable, but it may be better to avoid adding the nesting cap if
> @format is 0?
agreed
Thanks
Eric
>
> Thanks,
> Jean
>
>>
>> @Eric, how about your opinion? your dual-stage vSMMU support may
>> also share the vfio_iommu_type1.c code.
>>
>> Regards,
>> Yi Liu
>>
>>> Will
>
next prev parent reply other threads:[~2020-07-16 20:38 UTC|newest]
Thread overview: 116+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-12 11:20 [PATCH v5 00/15] vfio: expose virtual Shared Virtual Addressing to VMs Liu Yi L
2020-07-12 11:20 ` Liu Yi L
2020-07-12 11:20 ` [PATCH v5 01/15] vfio/type1: Refactor vfio_iommu_type1_ioctl() Liu Yi L
2020-07-12 11:20 ` Liu Yi L
2020-07-12 11:20 ` [PATCH v5 02/15] iommu: Report domain nesting info Liu Yi L
2020-07-12 11:20 ` Liu Yi L
2020-07-17 16:29 ` Auger Eric
2020-07-17 16:29 ` Auger Eric
2020-07-20 7:20 ` Liu, Yi L
2020-07-20 7:20 ` Liu, Yi L
2020-07-12 11:20 ` [PATCH v5 03/15] iommu/smmu: Report empty " Liu Yi L
2020-07-12 11:20 ` Liu Yi L
2020-07-13 13:14 ` Will Deacon
2020-07-13 13:14 ` Will Deacon
2020-07-14 10:12 ` Liu, Yi L
2020-07-14 10:12 ` Liu, Yi L
2020-07-16 15:39 ` Jean-Philippe Brucker
2020-07-16 15:39 ` Jean-Philippe Brucker
2020-07-16 20:38 ` Auger Eric [this message]
2020-07-16 20:38 ` Auger Eric
2020-07-17 9:09 ` Jean-Philippe Brucker
2020-07-17 9:09 ` Jean-Philippe Brucker
2020-07-17 10:28 ` Auger Eric
2020-07-17 10:28 ` Auger Eric
2020-07-23 9:44 ` Liu, Yi L
2020-07-23 9:44 ` Liu, Yi L
2020-07-23 9:40 ` Liu, Yi L
2020-07-23 9:40 ` Liu, Yi L
2020-07-17 17:18 ` Auger Eric
2020-07-17 17:18 ` Auger Eric
2020-07-20 7:26 ` Liu, Yi L
2020-07-20 7:26 ` Liu, Yi L
2020-07-12 11:20 ` [PATCH v5 04/15] vfio/type1: Report iommu nesting info to userspace Liu Yi L
2020-07-12 11:20 ` Liu Yi L
2020-07-17 17:34 ` Auger Eric
2020-07-17 17:34 ` Auger Eric
2020-07-20 7:51 ` Liu, Yi L
2020-07-20 7:51 ` Liu, Yi L
2020-07-20 8:33 ` Auger Eric
2020-07-20 8:33 ` Auger Eric
2020-07-20 8:51 ` Liu, Yi L
2020-07-20 8:51 ` Liu, Yi L
2020-07-12 11:21 ` [PATCH v5 05/15] vfio: Add PASID allocation/free support Liu Yi L
2020-07-12 11:21 ` Liu Yi L
2020-07-19 15:38 ` Auger Eric
2020-07-19 15:38 ` Auger Eric
2020-07-20 8:03 ` Liu, Yi L
2020-07-20 8:03 ` Liu, Yi L
2020-07-20 8:26 ` Auger Eric
2020-07-20 8:26 ` Auger Eric
2020-07-20 8:49 ` Liu, Yi L
2020-07-20 8:49 ` Liu, Yi L
2020-07-12 11:21 ` [PATCH v5 06/15] iommu/vt-d: Support setting ioasid set to domain Liu Yi L
2020-07-12 11:21 ` Liu Yi L
2020-07-19 15:38 ` Auger Eric
2020-07-19 15:38 ` Auger Eric
2020-07-20 8:11 ` Liu, Yi L
2020-07-20 8:11 ` Liu, Yi L
2020-07-12 11:21 ` [PATCH v5 07/15] vfio/type1: Add VFIO_IOMMU_PASID_REQUEST (alloc/free) Liu Yi L
2020-07-12 11:21 ` Liu Yi L
2020-07-19 15:38 ` Auger Eric
2020-07-19 15:38 ` Auger Eric
2020-07-20 8:56 ` Liu, Yi L
2020-07-20 8:56 ` Liu, Yi L
2020-07-12 11:21 ` [PATCH v5 08/15] iommu: Pass domain to sva_unbind_gpasid() Liu Yi L
2020-07-12 11:21 ` Liu Yi L
2020-07-19 15:37 ` Auger Eric
2020-07-19 15:37 ` Auger Eric
2020-07-20 9:06 ` Liu, Yi L
2020-07-20 9:06 ` Liu, Yi L
2020-07-12 11:21 ` [PATCH v5 09/15] iommu/vt-d: Check ownership for PASIDs from user-space Liu Yi L
2020-07-12 11:21 ` Liu Yi L
2020-07-19 16:06 ` Auger Eric
2020-07-19 16:06 ` Auger Eric
2020-07-20 10:18 ` Liu, Yi L
2020-07-20 10:18 ` Liu, Yi L
2020-07-20 12:37 ` Auger Eric
2020-07-20 12:37 ` Auger Eric
2020-07-20 12:55 ` Liu, Yi L
2020-07-20 12:55 ` Liu, Yi L
2020-07-12 11:21 ` [PATCH v5 10/15] vfio/type1: Support binding guest page tables to PASID Liu Yi L
2020-07-12 11:21 ` Liu Yi L
2020-07-20 9:37 ` Auger Eric
2020-07-20 9:37 ` Auger Eric
2020-07-20 10:37 ` Liu, Yi L
2020-07-20 10:37 ` Liu, Yi L
2020-07-12 11:21 ` [PATCH v5 11/15] vfio/type1: Allow invalidating first-level/stage IOMMU cache Liu Yi L
2020-07-12 11:21 ` Liu Yi L
2020-07-20 9:41 ` Auger Eric
2020-07-20 9:41 ` Auger Eric
2020-07-20 10:42 ` Liu, Yi L
2020-07-20 10:42 ` Liu, Yi L
2020-07-12 11:21 ` [PATCH v5 12/15] vfio/type1: Add vSVA support for IOMMU-backed mdevs Liu Yi L
2020-07-12 11:21 ` Liu Yi L
2020-07-20 12:22 ` Auger Eric
2020-07-20 12:22 ` Auger Eric
2020-07-23 12:05 ` Liu, Yi L
2020-07-23 12:05 ` Liu, Yi L
2020-07-12 11:21 ` [PATCH v5 13/15] vfio/pci: Expose PCIe PASID capability to guest Liu Yi L
2020-07-12 11:21 ` Liu Yi L
2020-07-20 12:35 ` Auger Eric
2020-07-20 12:35 ` Auger Eric
2020-07-20 13:00 ` Liu, Yi L
2020-07-20 13:00 ` Liu, Yi L
2020-07-12 11:21 ` [PATCH v5 14/15] vfio: Document dual stage control Liu Yi L
2020-07-12 11:21 ` Liu Yi L
2020-07-18 13:39 ` Auger Eric
2020-07-18 13:39 ` Auger Eric
2020-07-25 8:54 ` Liu, Yi L
2020-07-25 8:54 ` Liu, Yi L
2020-07-12 11:21 ` [PATCH v5 15/15] iommu/vt-d: Support reporting nesting capability info Liu Yi L
2020-07-12 11:21 ` Liu Yi L
2020-07-17 17:14 ` Auger Eric
2020-07-17 17:14 ` Auger Eric
2020-07-20 13:33 ` Liu, Yi L
2020-07-20 13:33 ` Liu, Yi L
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=f3779a69-0295-d668-5f2f-746b6ff2bdce@redhat.com \
--to=eric.auger@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=ashok.raj@intel.com \
--cc=hao.wu@intel.com \
--cc=iommu@lists.linux-foundation.org \
--cc=jean-philippe@linaro.org \
--cc=jun.j.tian@intel.com \
--cc=kevin.tian@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robin.murphy@arm.com \
--cc=stefanha@gmail.com \
--cc=will@kernel.org \
--cc=yi.l.liu@intel.com \
--cc=yi.y.sun@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.