[v4] doc: Clarify IOMMU usage with "uio_pci_generic" kernel module

Message ID 1537499262-22644-1-git-send-email-tone.zhang@arm.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series [v4] doc: Clarify IOMMU usage with "uio_pci_generic" kernel module |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

tone.zhang Sept. 21, 2018, 3:07 a.m. UTC
  If the devices used for DPDK are bound to the "uio_pci_generic" kernel
module, the IOMMU should be disabled in order not to break the IO
transmission because of the virtual / physical address mapping.

The patch clarifies the IOMMU configurations on both x86_64 and arm64
systems.

Signed-off-by: tone.zhang <tone.zhang@arm.com>
---
 doc/guides/linux_gsg/linux_drivers.rst | 7 +++++++
 1 file changed, 7 insertions(+)
  

Comments

Bruce Richardson Sept. 21, 2018, 11:20 a.m. UTC | #1
On Fri, Sep 21, 2018 at 11:07:42AM +0800, tone.zhang wrote:
> If the devices used for DPDK are bound to the "uio_pci_generic" kernel
> module, the IOMMU should be disabled in order not to break the IO
> transmission because of the virtual / physical address mapping.
> 
> The patch clarifies the IOMMU configurations on both x86_64 and arm64
> systems.
> 
> Signed-off-by: tone.zhang <tone.zhang@arm.com>
> ---
>  doc/guides/linux_gsg/linux_drivers.rst | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
> index 371a817..3304800 100644
> --- a/doc/guides/linux_gsg/linux_drivers.rst
> +++ b/doc/guides/linux_gsg/linux_drivers.rst
> @@ -48,6 +48,13 @@ be loaded as shown below:
>     ``vfio-pci`` kernel module rather than ``igb_uio`` or ``uio_pci_generic``.
>     For more details see :ref:`linux_gsg_binding_kernel` below.
>  
> +.. note::
> +
> +   If the devices used for DPDK are bound to the ``uio_pci_generic`` kernel module,
> +   please make sure that the IOMMU is disabledi or passthrough. One can add
typo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

> +   ``intel_iommu=off`` or ``amd_iommu=off`` or ``intel_iommu=on iommu=pt``in GRUB
> +   command line on x86_64 systems, or add ``iommu.passthrough=1`` on arm64 system.
> +
>  Since DPDK release 1.7 onward provides VFIO support, use of UIO is optional
>  for platforms that support using VFIO.
>  
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
  
tone.zhang Sept. 25, 2018, 6:18 a.m. UTC | #2
Hello Bruce,

Thanks for the comments.

I will update the change and issue v5 soon.

Thanks!

Br,
Tone

-----Original Message-----
From: Bruce Richardson <bruce.richardson@intel.com> 
Sent: Friday, September 21, 2018 7:20 PM
To: Tone Zhang (Arm Technology China) <Tone.Zhang@arm.com>
Cc: dev@dpdk.org; Gavin Hu (Arm Technology China) <Gavin.Hu@arm.com>; bluca@debian.org; roszenrami@gmail.com; Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>; nd <nd@arm.com>
Subject: Re: [PATCH v4] doc: Clarify IOMMU usage with "uio_pci_generic" kernel module

On Fri, Sep 21, 2018 at 11:07:42AM +0800, tone.zhang wrote:
> If the devices used for DPDK are bound to the "uio_pci_generic" kernel 
> module, the IOMMU should be disabled in order not to break the IO 
> transmission because of the virtual / physical address mapping.
> 
> The patch clarifies the IOMMU configurations on both x86_64 and arm64 
> systems.
> 
> Signed-off-by: tone.zhang <tone.zhang@arm.com>
> ---
>  doc/guides/linux_gsg/linux_drivers.rst | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/doc/guides/linux_gsg/linux_drivers.rst 
> b/doc/guides/linux_gsg/linux_drivers.rst
> index 371a817..3304800 100644
> --- a/doc/guides/linux_gsg/linux_drivers.rst
> +++ b/doc/guides/linux_gsg/linux_drivers.rst
> @@ -48,6 +48,13 @@ be loaded as shown below:
>     ``vfio-pci`` kernel module rather than ``igb_uio`` or ``uio_pci_generic``.
>     For more details see :ref:`linux_gsg_binding_kernel` below.
>  
> +.. note::
> +
> +   If the devices used for DPDK are bound to the ``uio_pci_generic`` kernel module,
> +   please make sure that the IOMMU is disabledi or passthrough. One 
> + can add
typo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

> +   ``intel_iommu=off`` or ``amd_iommu=off`` or ``intel_iommu=on iommu=pt``in GRUB
> +   command line on x86_64 systems, or add ``iommu.passthrough=1`` on arm64 system.
> +
>  Since DPDK release 1.7 onward provides VFIO support, use of UIO is 
> optional  for platforms that support using VFIO.
>  
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
  

Patch

diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 371a817..3304800 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -48,6 +48,13 @@  be loaded as shown below:
    ``vfio-pci`` kernel module rather than ``igb_uio`` or ``uio_pci_generic``.
    For more details see :ref:`linux_gsg_binding_kernel` below.
 
+.. note::
+
+   If the devices used for DPDK are bound to the ``uio_pci_generic`` kernel module,
+   please make sure that the IOMMU is disabledi or passthrough. One can add
+   ``intel_iommu=off`` or ``amd_iommu=off`` or ``intel_iommu=on iommu=pt``in GRUB
+   command line on x86_64 systems, or add ``iommu.passthrough=1`` on arm64 system.
+
 Since DPDK release 1.7 onward provides VFIO support, use of UIO is optional
 for platforms that support using VFIO.