[dpdk-dev,v2] doc: add driver limitation for vhost dequeue zero copy
Checks
Commit Message
In vhost-switch example, when binding nic to vfio-pci, dequeue zero
copy cannot work in VM2NIC mode due to no iommu dma mapping is setup
for guest memory currently.
Signed-off-by: Junjie Chen <junjie.j.chen@intel.com>
---
Changes in V2:
- add doc in vhost lib
doc/guides/prog_guide/vhost_lib.rst | 3 +++
doc/guides/sample_app_ug/vhost.rst | 5 ++++-
2 files changed, 7 insertions(+), 1 deletion(-)
Comments
On 02/27/2018 10:21 AM, Junjie Chen wrote:
> In vhost-switch example, when binding nic to vfio-pci, dequeue zero
> copy cannot work in VM2NIC mode due to no iommu dma mapping is setup
> for guest memory currently.
>
> Signed-off-by: Junjie Chen <junjie.j.chen@intel.com>
> ---
> Changes in V2:
> - add doc in vhost lib
>
> doc/guides/prog_guide/vhost_lib.rst | 3 +++
> doc/guides/sample_app_ug/vhost.rst | 5 ++++-
> 2 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/doc/guides/prog_guide/vhost_lib.rst b/doc/guides/prog_guide/vhost_lib.rst
> index 18227b6..bdf77d6 100644
> --- a/doc/guides/prog_guide/vhost_lib.rst
> +++ b/doc/guides/prog_guide/vhost_lib.rst
> @@ -83,6 +83,9 @@ The following is an overview of some key Vhost API functions:
> of those segments, thus the fewer the segments, the quicker we will get
> the mapping. NOTE: we may speed it by using tree searching in future.
>
> + * zero copy does not work when using vfio-pci driver currently, this is
> + because we don't setup iommu dma mapping for guest memory.
> +
I guess that it should work with vfio-pci in noiommu mode? Maybe worth
to clarify.
> - ``RTE_VHOST_USER_IOMMU_SUPPORT``
>
> IOMMU support will be enabled when this flag is set. It is disabled by
> diff --git a/doc/guides/sample_app_ug/vhost.rst b/doc/guides/sample_app_ug/vhost.rst
> index a4bdc6a..840c1fd 100644
> --- a/doc/guides/sample_app_ug/vhost.rst
> +++ b/doc/guides/sample_app_ug/vhost.rst
> @@ -147,7 +147,10 @@ retries on an RX burst, it takes effect only when rx retry is enabled. The
> default value is 15.
>
> **--dequeue-zero-copy**
> -Dequeue zero copy will be enabled when this option is given.
> +Dequeue zero copy will be enabled when this option is given, it is worth to
> +note that if NIC is binded to vfio-pci driver, dequeue zero copy cannot work
> +at VM2NIC mode (vm2vm=0) due to currently we don't setup iommu dma mapping for
> +guest memory.
>
> **--vlan-strip 0|1**
> VLAN strip option is removed, because different NICs have different behaviors
>
> -----Original Message-----
> From: Maxime Coquelin [mailto:maxime.coquelin@redhat.com]
> Sent: Tuesday, March 6, 2018 4:57 PM
> To: Chen, Junjie J <junjie.j.chen@intel.com>; yliu@fridaylinux.org; Tan,
> Jianfeng <jianfeng.tan@intel.com>
> Cc: dev@dpdk.org
> Subject: Re: [PATCH v2] doc: add driver limitation for vhost dequeue zero copy
>
>
>
> On 02/27/2018 10:21 AM, Junjie Chen wrote:
> > In vhost-switch example, when binding nic to vfio-pci, dequeue zero
> > copy cannot work in VM2NIC mode due to no iommu dma mapping is setup
> > for guest memory currently.
> >
> > Signed-off-by: Junjie Chen <junjie.j.chen@intel.com>
> > ---
> > Changes in V2:
> > - add doc in vhost lib
> >
> > doc/guides/prog_guide/vhost_lib.rst | 3 +++
> > doc/guides/sample_app_ug/vhost.rst | 5 ++++-
> > 2 files changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/doc/guides/prog_guide/vhost_lib.rst
> > b/doc/guides/prog_guide/vhost_lib.rst
> > index 18227b6..bdf77d6 100644
> > --- a/doc/guides/prog_guide/vhost_lib.rst
> > +++ b/doc/guides/prog_guide/vhost_lib.rst
> > @@ -83,6 +83,9 @@ The following is an overview of some key Vhost API
> functions:
> > of those segments, thus the fewer the segments, the quicker we
> will get
> > the mapping. NOTE: we may speed it by using tree searching in
> future.
> >
> > + * zero copy does not work when using vfio-pci driver currently, this is
> > + because we don't setup iommu dma mapping for guest memory.
> > +
>
> I guess that it should work with vfio-pci in noiommu mode? Maybe worth to
> clarify.
You are right, it works on noiommu mode. Updated patch accordingly.
>
> > - ``RTE_VHOST_USER_IOMMU_SUPPORT``
> >
> > IOMMU support will be enabled when this flag is set. It is
> > disabled by diff --git a/doc/guides/sample_app_ug/vhost.rst
> > b/doc/guides/sample_app_ug/vhost.rst
> > index a4bdc6a..840c1fd 100644
> > --- a/doc/guides/sample_app_ug/vhost.rst
> > +++ b/doc/guides/sample_app_ug/vhost.rst
> > @@ -147,7 +147,10 @@ retries on an RX burst, it takes effect only when rx
> retry is enabled. The
> > default value is 15.
> >
> > **--dequeue-zero-copy**
> > -Dequeue zero copy will be enabled when this option is given.
> > +Dequeue zero copy will be enabled when this option is given, it is
> > +worth to note that if NIC is binded to vfio-pci driver, dequeue zero
> > +copy cannot work at VM2NIC mode (vm2vm=0) due to currently we don't
> > +setup iommu dma mapping for guest memory.
> >
> > **--vlan-strip 0|1**
> > VLAN strip option is removed, because different NICs have different
> > behaviors
> >
@@ -83,6 +83,9 @@ The following is an overview of some key Vhost API functions:
of those segments, thus the fewer the segments, the quicker we will get
the mapping. NOTE: we may speed it by using tree searching in future.
+ * zero copy does not work when using vfio-pci driver currently, this is
+ because we don't setup iommu dma mapping for guest memory.
+
- ``RTE_VHOST_USER_IOMMU_SUPPORT``
IOMMU support will be enabled when this flag is set. It is disabled by
@@ -147,7 +147,10 @@ retries on an RX burst, it takes effect only when rx retry is enabled. The
default value is 15.
**--dequeue-zero-copy**
-Dequeue zero copy will be enabled when this option is given.
+Dequeue zero copy will be enabled when this option is given, it is worth to
+note that if NIC is binded to vfio-pci driver, dequeue zero copy cannot work
+at VM2NIC mode (vm2vm=0) due to currently we don't setup iommu dma mapping for
+guest memory.
**--vlan-strip 0|1**
VLAN strip option is removed, because different NICs have different behaviors