All of lore.kernel.org
 help / color / mirror / Atom feed
From: Xiao Guangrong <guangrong.xiao@gmail.com>
To: "Liu, Yi L" <yi.l.liu@intel.com>,
	kvm@vger.kernel.org, iommu@lists.linux-foundation.org,
	alex.williamson@redhat.com, peterx@redhat.com
Cc: jasowang@redhat.com, qemu-devel@nongnu.org, kevin.tian@intel.com,
	ashok.raj@intel.com, jacob.jun.pan@intel.com,
	tianyu.lan@intel.com, jean-philippe.brucker@arm.com
Subject: Re: [RFC PATCH 0/8] Shared Virtual Memory virtualization for VT-d
Date: Mon, 8 May 2017 12:09:42 +0800	[thread overview]
Message-ID: <3a67fc54-905a-b7f8-2eb5-1d75a89c2335@gmail.com> (raw)
In-Reply-To: <1493201525-14418-1-git-send-email-yi.l.liu@intel.com>


Hi Liu Yi,

I haven't started to read the code yet, however, could you
detail more please? It emulates a SVM capable iommu device in
a VM? Or It speeds up device's DMA access in a VM? Or it is a
new facility introduced for a VM? Could you please add a bit
more for its usage?

Thanks!

On 04/26/2017 06:11 PM, Liu, Yi L wrote:
> Hi,
> 
> This patchset introduces SVM virtualization for intel_iommu in
> IOMMU/VFIO. The total SVM virtualization for intel_iommu touched
> Qemu/IOMMU/VFIO.
> 
> Another patchset would change the Qemu. It is "[RFC PATCH 0/20] Qemu:
> Extend intel_iommu emulator to support Shared Virtual Memory"
> 
> In this patchset, it adds two new IOMMU APIs and their implementation
> in intel_iommu driver. In VFIO, it adds two IOCTL cmd attached on
> container->fd to propagate data from QEMU to kernel space.
> 
> [Patch Overview]
> * 1 adds iommu API definition for binding guest PASID table
> * 2 adds binding PASID table API implementation in VT-d iommu driver
> * 3 adds iommu API definition to do IOMMU TLB invalidation from guest
> * 4 adds IOMMU TLB invalidation implementation in VT-d iommu driver
> * 5 adds VFIO IOCTL for propagating PASID table binding from guest
> * 6 adds processing of pasid table binding in vfio_iommu_type1
> * 7 adds VFIO IOCTL for propagating IOMMU TLB invalidation from guest
> * 8 adds processing of IOMMU TLB invalidation in vfio_iommu_type1
> 
> Best Wishes,
> Yi L
> 
> 
> Jacob Pan (3):
>    iommu: Introduce bind_pasid_table API function
>    iommu/vt-d: add bind_pasid_table function
>    iommu/vt-d: Add iommu do invalidate function
> 
> Liu, Yi L (5):
>    iommu: Introduce iommu do invalidate API function
>    VFIO: Add new IOTCL for PASID Table bind propagation
>    VFIO: do pasid table binding
>    VFIO: Add new IOCTL for IOMMU TLB invalidate propagation
>    VFIO: do IOMMU TLB invalidation from guest
> 
>   drivers/iommu/intel-iommu.c     | 146 ++++++++++++++++++++++++++++++++++++++++
>   drivers/iommu/iommu.c           |  32 +++++++++
>   drivers/vfio/vfio_iommu_type1.c |  98 +++++++++++++++++++++++++++
>   include/linux/dma_remapping.h   |   1 +
>   include/linux/intel-iommu.h     |  11 +++
>   include/linux/iommu.h           |  47 +++++++++++++
>   include/uapi/linux/vfio.h       |  26 +++++++
>   7 files changed, 361 insertions(+)
> 

WARNING: multiple messages have this Message-ID (diff)
From: Xiao Guangrong <guangrong.xiao@gmail.com>
To: "Liu, Yi L" <yi.l.liu@intel.com>,
	kvm@vger.kernel.org, iommu@lists.linux-foundation.org,
	alex.williamson@redhat.com, peterx@redhat.com
Cc: jasowang@redhat.com, qemu-devel@nongnu.org, kevin.tian@intel.com,
	ashok.raj@intel.com, jacob.jun.pan@intel.com,
	tianyu.lan@intel.com, jean-philippe.brucker@arm.com
Subject: Re: [Qemu-devel] [RFC PATCH 0/8] Shared Virtual Memory virtualization for VT-d
Date: Mon, 8 May 2017 12:09:42 +0800	[thread overview]
Message-ID: <3a67fc54-905a-b7f8-2eb5-1d75a89c2335@gmail.com> (raw)
In-Reply-To: <1493201525-14418-1-git-send-email-yi.l.liu@intel.com>


Hi Liu Yi,

I haven't started to read the code yet, however, could you
detail more please? It emulates a SVM capable iommu device in
a VM? Or It speeds up device's DMA access in a VM? Or it is a
new facility introduced for a VM? Could you please add a bit
more for its usage?

Thanks!

On 04/26/2017 06:11 PM, Liu, Yi L wrote:
> Hi,
> 
> This patchset introduces SVM virtualization for intel_iommu in
> IOMMU/VFIO. The total SVM virtualization for intel_iommu touched
> Qemu/IOMMU/VFIO.
> 
> Another patchset would change the Qemu. It is "[RFC PATCH 0/20] Qemu:
> Extend intel_iommu emulator to support Shared Virtual Memory"
> 
> In this patchset, it adds two new IOMMU APIs and their implementation
> in intel_iommu driver. In VFIO, it adds two IOCTL cmd attached on
> container->fd to propagate data from QEMU to kernel space.
> 
> [Patch Overview]
> * 1 adds iommu API definition for binding guest PASID table
> * 2 adds binding PASID table API implementation in VT-d iommu driver
> * 3 adds iommu API definition to do IOMMU TLB invalidation from guest
> * 4 adds IOMMU TLB invalidation implementation in VT-d iommu driver
> * 5 adds VFIO IOCTL for propagating PASID table binding from guest
> * 6 adds processing of pasid table binding in vfio_iommu_type1
> * 7 adds VFIO IOCTL for propagating IOMMU TLB invalidation from guest
> * 8 adds processing of IOMMU TLB invalidation in vfio_iommu_type1
> 
> Best Wishes,
> Yi L
> 
> 
> Jacob Pan (3):
>    iommu: Introduce bind_pasid_table API function
>    iommu/vt-d: add bind_pasid_table function
>    iommu/vt-d: Add iommu do invalidate function
> 
> Liu, Yi L (5):
>    iommu: Introduce iommu do invalidate API function
>    VFIO: Add new IOTCL for PASID Table bind propagation
>    VFIO: do pasid table binding
>    VFIO: Add new IOCTL for IOMMU TLB invalidate propagation
>    VFIO: do IOMMU TLB invalidation from guest
> 
>   drivers/iommu/intel-iommu.c     | 146 ++++++++++++++++++++++++++++++++++++++++
>   drivers/iommu/iommu.c           |  32 +++++++++
>   drivers/vfio/vfio_iommu_type1.c |  98 +++++++++++++++++++++++++++
>   include/linux/dma_remapping.h   |   1 +
>   include/linux/intel-iommu.h     |  11 +++
>   include/linux/iommu.h           |  47 +++++++++++++
>   include/uapi/linux/vfio.h       |  26 +++++++
>   7 files changed, 361 insertions(+)
> 

  parent reply	other threads:[~2017-05-08  4:09 UTC|newest]

Thread overview: 116+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-26 10:11 [RFC PATCH 0/8] Shared Virtual Memory virtualization for VT-d Liu, Yi L
2017-04-26 10:11 ` [Qemu-devel] " Liu, Yi L
2017-04-26 10:11 ` [RFC PATCH 1/8] iommu: Introduce bind_pasid_table API function Liu, Yi L
2017-04-26 10:11   ` [Qemu-devel] " Liu, Yi L
2017-04-26 16:56   ` Jean-Philippe Brucker
2017-04-26 16:56     ` [Qemu-devel] " Jean-Philippe Brucker
2017-04-27  6:36     ` Liu, Yi L
2017-04-27  6:36       ` [Qemu-devel] " Liu, Yi L
2017-04-27 10:12       ` Jean-Philippe Brucker
2017-04-27 10:12         ` [Qemu-devel] " Jean-Philippe Brucker
     [not found]         ` <772ca9de-50ba-a379-002d-5ff1f6a2e297-5wv7dgnIgG8@public.gmane.org>
2017-04-28  7:59           ` Liu, Yi L
2017-04-28  7:59             ` Liu, Yi L
     [not found]     ` <c042bf90-d48b-4ebf-c01a-fca7c4875277-5wv7dgnIgG8@public.gmane.org>
2017-04-26 18:29       ` jacob pan
2017-04-26 18:29         ` [Qemu-devel] " jacob pan
     [not found]         ` <20170426112948.00004520-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-26 18:59           ` Jean-Philippe Brucker
2017-04-26 18:59             ` [Qemu-devel] " Jean-Philippe Brucker
2017-04-28  9:04       ` Liu, Yi L
2017-04-28  9:04         ` Liu, Yi L
2017-04-28 12:51         ` Jean-Philippe Brucker
2017-04-28 12:51           ` Jean-Philippe Brucker
     [not found]           ` <3adb4e33-db96-4133-0510-412c3bfb24fe-5wv7dgnIgG8@public.gmane.org>
2017-05-23  7:50             ` Liu, Yi L
2017-05-23  7:50               ` Liu, Yi L
2017-05-25 12:33               ` Jean-Philippe Brucker
2017-05-25 12:33                 ` Jean-Philippe Brucker
     [not found]   ` <1493201525-14418-2-git-send-email-yi.l.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-05-12 21:59     ` Alex Williamson
2017-05-12 21:59       ` [Qemu-devel] " Alex Williamson
     [not found]       ` <20170512155914.73bad777-1yVPhWWZRC1BDLzU/O5InQ@public.gmane.org>
2017-05-14 10:56         ` Liu, Yi L
2017-05-14 10:56           ` [Qemu-devel] " Liu, Yi L
2017-04-26 10:11 ` [RFC PATCH 2/8] iommu/vt-d: add bind_pasid_table function Liu, Yi L
2017-04-26 10:11   ` [Qemu-devel] " Liu, Yi L
     [not found]   ` <1493201525-14418-3-git-send-email-yi.l.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-05-12 21:59     ` Alex Williamson
2017-05-12 21:59       ` [Qemu-devel] " Alex Williamson
     [not found]       ` <20170512155929.66809113-1yVPhWWZRC1BDLzU/O5InQ@public.gmane.org>
2017-05-15 13:14         ` jacob pan
2017-05-15 13:14           ` [Qemu-devel] " jacob pan
2017-04-26 10:12 ` [RFC PATCH 3/8] iommu: Introduce iommu do invalidate API function Liu, Yi L
2017-04-26 10:12   ` [Qemu-devel] " Liu, Yi L
     [not found]   ` <1493201525-14418-4-git-send-email-yi.l.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-05-12 21:59     ` Alex Williamson
2017-05-12 21:59       ` [Qemu-devel] " Alex Williamson
     [not found]       ` <20170512155924.755ee17f-1yVPhWWZRC1BDLzU/O5InQ@public.gmane.org>
2017-05-17 10:23         ` Liu, Yi L
2017-05-17 10:23           ` [Qemu-devel] " Liu, Yi L
2017-04-26 10:12 ` [RFC PATCH 4/8] iommu/vt-d: Add iommu do invalidate function Liu, Yi L
2017-04-26 10:12   ` [Qemu-devel] " Liu, Yi L
     [not found]   ` <1493201525-14418-5-git-send-email-yi.l.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-05-12 21:59     ` Alex Williamson
2017-05-12 21:59       ` [Qemu-devel] " Alex Williamson
     [not found]       ` <20170512155918.5251fb94-1yVPhWWZRC1BDLzU/O5InQ@public.gmane.org>
2017-05-17 10:24         ` Liu, Yi L
2017-05-17 10:24           ` [Qemu-devel] " Liu, Yi L
2017-04-26 10:12 ` [RFC PATCH 5/8] VFIO: Add new IOTCL for PASID Table bind propagation Liu, Yi L
2017-04-26 10:12   ` [Qemu-devel] " Liu, Yi L
2017-04-26 16:56   ` Jean-Philippe Brucker
2017-04-26 16:56     ` [Qemu-devel] " Jean-Philippe Brucker
2017-04-27  5:43     ` Liu, Yi L
     [not found]   ` <1493201525-14418-6-git-send-email-yi.l.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-05-11 10:29     ` Liu, Yi L
2017-05-11 10:29       ` Liu, Yi L
2017-05-12 21:58     ` Alex Williamson
2017-05-12 21:58       ` [Qemu-devel] " Alex Williamson
     [not found]       ` <20170512155851.627409ed-1yVPhWWZRC1BDLzU/O5InQ@public.gmane.org>
2017-05-17 10:27         ` Liu, Yi L
2017-05-17 10:27           ` Liu, Yi L
     [not found]           ` <20170517102759.GF22110-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-05-18 11:29             ` Jean-Philippe Brucker
2017-05-18 11:29               ` Jean-Philippe Brucker
2017-04-26 10:12 ` [RFC PATCH 6/8] VFIO: do pasid table binding Liu, Yi L
2017-04-26 10:12   ` [Qemu-devel] " Liu, Yi L
2017-05-09  7:55   ` Xiao Guangrong
2017-05-09  7:55     ` [Qemu-devel] " Xiao Guangrong
2017-05-11 10:29     ` Liu, Yi L
2017-05-12 21:59   ` Alex Williamson
2017-05-12 21:59     ` [Qemu-devel] " Alex Williamson
2017-04-26 10:12 ` [RFC PATCH 7/8] VFIO: Add new IOCTL for IOMMU TLB invalidate propagation Liu, Yi L
2017-04-26 10:12   ` [Qemu-devel] " Liu, Yi L
2017-05-12 12:11   ` Jean-Philippe Brucker
2017-05-12 12:11     ` [Qemu-devel] " Jean-Philippe Brucker
     [not found]     ` <cc330a8f-e087-9b6f-2a40-38b58688d300-5wv7dgnIgG8@public.gmane.org>
2017-05-14 10:12       ` Liu, Yi L
2017-05-14 10:12         ` [Qemu-devel] " Liu, Yi L
2017-05-15 12:14         ` Jean-Philippe Brucker
2017-05-15 12:14           ` [Qemu-devel] " Jean-Philippe Brucker
2017-07-02 10:06       ` Liu, Yi L
2017-07-02 10:06         ` Liu, Yi L
2017-07-03 11:52         ` Jean-Philippe Brucker
     [not found]           ` <0e4f2dd4-d553-b1b7-7bec-fe0ff5242c54-5wv7dgnIgG8@public.gmane.org>
2017-07-03 10:31             ` Liu, Yi L
2017-07-03 10:31               ` Liu, Yi L
     [not found]               ` <20170703103115.GB22053-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-05  6:45                 ` Tian, Kevin
2017-07-05  6:45                   ` Tian, Kevin
     [not found]                   ` <AADFC41AFE54684AB9EE6CBC0274A5D190D25919-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2017-07-05 12:42                     ` Jean-Philippe Brucker
2017-07-05 12:42                       ` Jean-Philippe Brucker
     [not found]                       ` <1d63c1ae-ca10-0f9d-91de-0d9c9823c104-5wv7dgnIgG8@public.gmane.org>
2017-07-05 17:28                         ` Alex Williamson
2017-07-05 17:28                           ` Alex Williamson
     [not found]                           ` <20170705112816.56554f65-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2017-07-05 22:26                             ` Tian, Kevin
2017-07-05 22:26                               ` Tian, Kevin
2017-07-14  8:58                             ` Liu, Yi L
2017-07-14  8:58                               ` Liu, Yi L
     [not found]                               ` <A2975661238FB949B60364EF0F2C2574390A7C4F-E2R4CRU6q/6iAffOGbnezLfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2017-07-14 18:15                                 ` Alex Williamson
2017-07-14 18:15                                   ` Alex Williamson
     [not found]                                   ` <20170714121555.7e64d849-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2017-07-17 10:58                                     ` Liu, Yi L
2017-07-17 10:58                                       ` Liu, Yi L
2017-07-17 22:45                                       ` Alex Williamson
     [not found]                                         ` <20170717164515.2491b3bf-DGNDKt5SQtizQB+pC5nmwQ@public.gmane.org>
2017-07-18  9:38                                           ` Jean-Philippe Brucker
2017-07-18  9:38                                             ` Jean-Philippe Brucker
     [not found]                                             ` <d0abeefc-adcf-85c3-f5d9-8c90a18f8011-5wv7dgnIgG8@public.gmane.org>
2017-07-18 14:29                                               ` Alex Williamson
2017-07-18 14:29                                                 ` Alex Williamson
2017-07-18 15:03                                                 ` Jean-Philippe Brucker
2017-07-19 10:45                                           ` Liu, Yi L
2017-07-19 10:45                                             ` Liu, Yi L
2017-07-19 21:50                                             ` Jacob Pan
2017-07-19 21:50                                               ` Jacob Pan
2017-07-05 22:31                         ` Tian, Kevin
2017-07-05 22:31                           ` Tian, Kevin
2017-05-12 21:58   ` Alex Williamson
2017-05-12 21:58     ` [Qemu-devel] " Alex Williamson
2017-05-14 10:55     ` Liu, Yi L
2017-05-14 10:55       ` [Qemu-devel] " Liu, Yi L
     [not found]       ` <20170514105507.GB22110-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-05  5:32         ` Tian, Kevin
2017-07-05  5:32           ` [Qemu-devel] " Tian, Kevin
2017-04-26 10:12 ` [RFC PATCH 8/8] VFIO: do IOMMU TLB invalidation from guest Liu, Yi L
2017-04-26 10:12   ` [Qemu-devel] " Liu, Yi L
2017-05-08  4:09 ` Xiao Guangrong [this message]
2017-05-08  4:09   ` [Qemu-devel] [RFC PATCH 0/8] Shared Virtual Memory virtualization for VT-d Xiao Guangrong
2017-05-07  7: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=3a67fc54-905a-b7f8-2eb5-1d75a89c2335@gmail.com \
    --to=guangrong.xiao@gmail.com \
    --cc=alex.williamson@redhat.com \
    --cc=ashok.raj@intel.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jacob.jun.pan@intel.com \
    --cc=jasowang@redhat.com \
    --cc=jean-philippe.brucker@arm.com \
    --cc=kevin.tian@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=tianyu.lan@intel.com \
    --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.