All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Tian, Kevin" <kevin.tian@intel.com>
To: Jason Gunthorpe <jgg@nvidia.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Lu Baolu <baolu.lu@linux.intel.com>,
	"Cornelia Huck" <cohuck@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	"Joerg Roedel" <joro@8bytes.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
	Will Deacon <will@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>, Robin Murphy <robin.murphy@arm.com>
Subject: RE: [PATCH v2 4/4] vfio: Require that devices support DMA cache coherence
Date: Fri, 8 Apr 2022 08:26:10 +0000	[thread overview]
Message-ID: <BN9PR11MB52764BF8AC747D4B2E2B8BAA8CE99@BN9PR11MB5276.namprd11.prod.outlook.com> (raw)
In-Reply-To: <4-v2-f090ae795824+6ad-intel_no_snoop_jgg@nvidia.com>

> From: Jason Gunthorpe <jgg@nvidia.com>
> Sent: Thursday, April 7, 2022 11:24 PM
> 
> IOMMU_CACHE means that normal DMAs do not require any additional
> coherency
> mechanism and is the basic uAPI that VFIO exposes to userspace. For
> instance VFIO applications like DPDK will not work if additional coherency
> operations are required.
> 
> Therefore check IOMMU_CAP_CACHE_COHERENCY like vdpa & usnic do
> before
> allowing an IOMMU backed VFIO device to be created.
> 
> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
> ---
>  drivers/vfio/vfio.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c
> index a4555014bd1e72..9edad767cfdad3 100644
> --- a/drivers/vfio/vfio.c
> +++ b/drivers/vfio/vfio.c
> @@ -815,6 +815,13 @@ static int __vfio_register_dev(struct vfio_device
> *device,
> 
>  int vfio_register_group_dev(struct vfio_device *device)
>  {
> +	/*
> +	 * VFIO always sets IOMMU_CACHE because we offer no way for
> userspace to
> +	 * restore cache coherency.
> +	 */
> +	if (!iommu_capable(device->dev->bus,
> IOMMU_CAP_CACHE_COHERENCY))
> +		return -EINVAL;
> +

One nit. Is it logistically more reasonable to put this patch before
changing VFIO to always set IOMMU_CACHE?

otherwise,

Reviewed-by: Kevin Tian <kevin.tian@intel.com>

WARNING: multiple messages have this Message-ID (diff)
From: "Tian, Kevin" <kevin.tian@intel.com>
To: Jason Gunthorpe <jgg@nvidia.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Lu Baolu <baolu.lu@linux.intel.com>,
	"Cornelia Huck" <cohuck@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	"Joerg Roedel" <joro@8bytes.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
	Will Deacon <will@kernel.org>
Cc: Robin Murphy <robin.murphy@arm.com>, Christoph Hellwig <hch@lst.de>
Subject: RE: [PATCH v2 4/4] vfio: Require that devices support DMA cache coherence
Date: Fri, 8 Apr 2022 08:26:10 +0000	[thread overview]
Message-ID: <BN9PR11MB52764BF8AC747D4B2E2B8BAA8CE99@BN9PR11MB5276.namprd11.prod.outlook.com> (raw)
In-Reply-To: <4-v2-f090ae795824+6ad-intel_no_snoop_jgg@nvidia.com>

> From: Jason Gunthorpe <jgg@nvidia.com>
> Sent: Thursday, April 7, 2022 11:24 PM
> 
> IOMMU_CACHE means that normal DMAs do not require any additional
> coherency
> mechanism and is the basic uAPI that VFIO exposes to userspace. For
> instance VFIO applications like DPDK will not work if additional coherency
> operations are required.
> 
> Therefore check IOMMU_CAP_CACHE_COHERENCY like vdpa & usnic do
> before
> allowing an IOMMU backed VFIO device to be created.
> 
> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
> ---
>  drivers/vfio/vfio.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c
> index a4555014bd1e72..9edad767cfdad3 100644
> --- a/drivers/vfio/vfio.c
> +++ b/drivers/vfio/vfio.c
> @@ -815,6 +815,13 @@ static int __vfio_register_dev(struct vfio_device
> *device,
> 
>  int vfio_register_group_dev(struct vfio_device *device)
>  {
> +	/*
> +	 * VFIO always sets IOMMU_CACHE because we offer no way for
> userspace to
> +	 * restore cache coherency.
> +	 */
> +	if (!iommu_capable(device->dev->bus,
> IOMMU_CAP_CACHE_COHERENCY))
> +		return -EINVAL;
> +

One nit. Is it logistically more reasonable to put this patch before
changing VFIO to always set IOMMU_CACHE?

otherwise,

Reviewed-by: Kevin Tian <kevin.tian@intel.com>
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

  reply	other threads:[~2022-04-08  8:26 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-07 15:23 [PATCH v2 0/4] Make the iommu driver no-snoop block feature consistent Jason Gunthorpe
2022-04-07 15:23 ` Jason Gunthorpe via iommu
2022-04-07 15:23 ` [PATCH v2 1/4] iommu: Introduce the domain op enforce_cache_coherency() Jason Gunthorpe
2022-04-07 15:23   ` Jason Gunthorpe via iommu
2022-04-08  8:05   ` Tian, Kevin
2022-04-08  8:05     ` Tian, Kevin
2022-04-09 12:44     ` Lu Baolu
2022-04-09 12:44       ` Lu Baolu
2022-04-11 14:11     ` Jason Gunthorpe
2022-04-11 14:11       ` Jason Gunthorpe via iommu
2022-04-08  8:27   ` Tian, Kevin
2022-04-08  8:27     ` Tian, Kevin
2022-04-07 15:23 ` [PATCH v2 2/4] vfio: Move the Intel no-snoop control off of IOMMU_CACHE Jason Gunthorpe
2022-04-07 15:23   ` Jason Gunthorpe via iommu
2022-04-08  8:16   ` Tian, Kevin
2022-04-08  8:16     ` Tian, Kevin
2022-04-09 12:50     ` Lu Baolu
2022-04-09 12:50       ` Lu Baolu
2022-04-12  7:44       ` Tian, Kevin
2022-04-12  7:44         ` Tian, Kevin
2022-04-12 13:13         ` Lu Baolu
2022-04-12 13:13           ` Lu Baolu
2022-04-12 13:20           ` Jason Gunthorpe via iommu
2022-04-12 13:20             ` Jason Gunthorpe
2022-04-12 23:04             ` Tian, Kevin
2022-04-12 23:04               ` Tian, Kevin
2022-04-13 11:37               ` Lu Baolu
2022-04-13 11:37                 ` Lu Baolu
2022-04-08 15:47   ` Alex Williamson
2022-04-08 15:47     ` Alex Williamson
2022-04-11 14:13     ` Jason Gunthorpe
2022-04-11 14:13       ` Jason Gunthorpe via iommu
2022-04-07 15:23 ` [PATCH v2 3/4] iommu: Redefine IOMMU_CAP_CACHE_COHERENCY as the cap flag for IOMMU_CACHE Jason Gunthorpe
2022-04-07 15:23   ` Jason Gunthorpe via iommu
2022-04-08  8:21   ` Tian, Kevin
2022-04-08  8:21     ` Tian, Kevin
2022-04-08 12:21     ` Jason Gunthorpe
2022-04-08 12:21       ` Jason Gunthorpe via iommu
2022-04-09 12:51   ` Lu Baolu
2022-04-09 12:51     ` Lu Baolu
2022-04-07 15:23 ` [PATCH v2 4/4] vfio: Require that devices support DMA cache coherence Jason Gunthorpe
2022-04-07 15:23   ` Jason Gunthorpe via iommu
2022-04-08  8:26   ` Tian, Kevin [this message]
2022-04-08  8:26     ` Tian, Kevin
2022-04-08 12:22     ` Jason Gunthorpe via iommu
2022-04-08 12:22       ` Jason Gunthorpe
2022-04-08 13:28       ` Robin Murphy
2022-04-08 13:28         ` Robin Murphy
2022-04-08 13:37         ` Jason Gunthorpe
2022-04-08 13:37           ` Jason Gunthorpe via iommu
2022-04-08 15:48   ` Alex Williamson
2022-04-08 15:48     ` Alex Williamson
2022-07-01  4:57   ` Alexey Kardashevskiy
2022-07-01  4:57     ` Alexey Kardashevskiy
2022-07-01  6:07     ` Tian, Kevin
2022-07-01  6:07       ` Tian, Kevin
2022-07-01  6:24       ` Alexey Kardashevskiy
2022-07-01  6:24         ` Alexey Kardashevskiy
2022-04-07 17:03 ` [PATCH v2 0/4] Make the iommu driver no-snoop block feature consistent Robin Murphy
2022-04-07 17:03   ` Robin Murphy
2022-04-07 17:43   ` Jason Gunthorpe
2022-04-07 17:43     ` Jason Gunthorpe via iommu
2022-04-07 18:02     ` Robin Murphy
2022-04-07 18:02       ` Robin Murphy
2022-04-07 19:08       ` Jason Gunthorpe
2022-04-07 19:08         ` Jason Gunthorpe via iommu
2022-04-07 19:27         ` Robin Murphy
2022-04-07 19:27           ` Robin Murphy
2022-04-08 12:18           ` Jason Gunthorpe
2022-04-08 12:18             ` Jason Gunthorpe via iommu
2022-04-08 13:11             ` Robin Murphy
2022-04-08 13:11               ` Robin Murphy
2022-04-08 13:35               ` Jason Gunthorpe
2022-04-08 13:35                 ` Jason Gunthorpe via iommu
2022-04-08 17:44                 ` Robin Murphy
2022-04-08 17:44                   ` Robin Murphy
2022-04-12  2:51                   ` Tian, Kevin
2022-04-12  2:51                     ` Tian, Kevin
2022-04-08  9:08         ` Tian, Kevin
2022-04-08  9:08           ` Tian, Kevin
2022-04-08 10:11           ` Robin Murphy
2022-04-08 10:11             ` Robin Murphy
2022-04-12  2:49             ` Tian, Kevin
2022-04-12  2:49               ` 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=BN9PR11MB52764BF8AC747D4B2E2B8BAA8CE99@BN9PR11MB5276.namprd11.prod.outlook.com \
    --to=kevin.tian@intel.com \
    --cc=alex.williamson@redhat.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=cohuck@redhat.com \
    --cc=dwmw2@infradead.org \
    --cc=hch@lst.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jgg@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=kvm@vger.kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=will@kernel.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 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.