[v3] doc: Clarify IOMMU usage with "uio_pci_generic" kernel module
Checks
Commit Message
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
> -----Original Message-----
> From: tone.zhang <tone.zhang@arm.com>
> Sent: Wednesday, September 5, 2018 1:18 PM
> To: dev@dpdk.org
> Cc: Gavin Hu (Arm Technology China) <Gavin.Hu@arm.com>;
> bruce.richardson@intel.com; bluca@debian.org; roszenrami@gmail.com; nd
> <nd@arm.com>
> Subject: [PATCH v3] doc: Clarify IOMMU usage with "uio_pci_generic" kernel
> module
>
> 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>
Acked-by: Gavin Hu <gavin.hu@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..b46fc6a 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 disabled. One can add
> ``intel_iommu=off`` or
> + ``intel_iommu=pt`` or ``amd_iommu=off`` 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.
>
> --
> 2.7.4
Hello Bruce, Luca, Rami and Stephen,
Could you please help to review the change?
Any comments are welcome.
Thanks a lot!
Br,
Tone
-----Original Message-----
From: dev <dev-bounces@dpdk.org> On Behalf Of tone.zhang
Sent: Wednesday, September 5, 2018 1:18 PM
To: dev@dpdk.org
Cc: Gavin Hu (Arm Technology China) <Gavin.Hu@arm.com>; bruce.richardson@intel.com; bluca@debian.org; roszenrami@gmail.com; nd <nd@arm.com>
Subject: [dpdk-dev] [PATCH v3] doc: Clarify IOMMU usage with "uio_pci_generic" kernel module
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..b46fc6a 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 disabled. One can add ``intel_iommu=off`` or
+ ``intel_iommu=pt`` or ``amd_iommu=off`` 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.
--
2.7.4
On Wed, 2018-09-05 at 13:17 +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..b46fc6a 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 disabled. One can add
> ``intel_iommu=off`` or
> + ``intel_iommu=pt`` or ``amd_iommu=off`` 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: Luca Boccassi <bluca@debian.org>
On Wed, Sep 19, 2018 at 07:44:36AM +0000, Tone Zhang (Arm Technology China) wrote:
> Hello Bruce, Luca, Rami and Stephen,
>
> Could you please help to review the change?
>
> Any comments are welcome.
>
> Thanks a lot!
>
> Br,
> Tone
>
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of tone.zhang
> Sent: Wednesday, September 5, 2018 1:18 PM
> To: dev@dpdk.org
> Cc: Gavin Hu (Arm Technology China) <Gavin.Hu@arm.com>; bruce.richardson@intel.com; bluca@debian.org; roszenrami@gmail.com; nd <nd@arm.com>
> Subject: [dpdk-dev] [PATCH v3] doc: Clarify IOMMU usage with "uio_pci_generic" kernel module
>
> 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..b46fc6a 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 disabled. One can add ``intel_iommu=off`` or
> + ``intel_iommu=pt`` or ``amd_iommu=off`` in GRUB command line on x86_64 systems,
> + or add ``iommu.passthrough=1`` on arm64 system.
> +
I'm not really an expert in these IOMMU commands, but for the passthrough
option on my systems, I've always used "intel_iommu=on iommu=pt", rather
than "intel_iommu=pt". Can someone confirm that the latter works ok, as
documented here?
/Bruce
On Wed, 2018-09-19 at 12:33 +0100, Bruce Richardson wrote:
> On Wed, Sep 19, 2018 at 07:44:36AM +0000, Tone Zhang (Arm Technology
> China) wrote:
> > Hello Bruce, Luca, Rami and Stephen,
> >
> > Could you please help to review the change?
> >
> > Any comments are welcome.
> >
> > Thanks a lot!
> >
> > Br,
> > Tone
> >
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of tone.zhang
> > Sent: Wednesday, September 5, 2018 1:18 PM
> > To: dev@dpdk.org
> > Cc: Gavin Hu (Arm Technology China) <Gavin.Hu@arm.com>; bruce.richa
> > rdson@intel.com; bluca@debian.org; roszenrami@gmail.com; nd <nd@arm
> > .com>
> > Subject: [dpdk-dev] [PATCH v3] doc: Clarify IOMMU usage with
> > "uio_pci_generic" kernel module
> >
> > 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..b46fc6a 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 disabled. One can add
> > ``intel_iommu=off`` or
> > + ``intel_iommu=pt`` or ``amd_iommu=off`` in GRUB command line on
> > x86_64 systems,
> > + or add ``iommu.passthrough=1`` on arm64 system.
> > +
>
> I'm not really an expert in these IOMMU commands, but for the
> passthrough
> option on my systems, I've always used "intel_iommu=on iommu=pt",
> rather
> than "intel_iommu=pt". Can someone confirm that the latter works ok,
> as
> documented here?
>
> /Bruce
Whops you are right, just checked and we use iommu=pt
Hi Luca and Bruce,
I appreciate for the comments. I ran more test cases in my test bed, and I will update the patch and push v4 soon.
Thanks a lot for your help!
Br,
Tone
-----Original Message-----
From: Luca Boccassi <bluca@debian.org>
Sent: Wednesday, September 19, 2018 7:54 PM
To: Bruce Richardson <bruce.richardson@intel.com>; Tone Zhang (Arm Technology China) <Tone.Zhang@arm.com>
Cc: dev@dpdk.org; Gavin Hu (Arm Technology China) <Gavin.Hu@arm.com>; roszenrami@gmail.com; Stephen Hemminger <stephen@networkplumber.org>; nd <nd@arm.com>
Subject: Re: [dpdk-dev] [PATCH v3] doc: Clarify IOMMU usage with "uio_pci_generic" kernel module
On Wed, 2018-09-19 at 12:33 +0100, Bruce Richardson wrote:
> On Wed, Sep 19, 2018 at 07:44:36AM +0000, Tone Zhang (Arm Technology
> China) wrote:
> > Hello Bruce, Luca, Rami and Stephen,
> >
> > Could you please help to review the change?
> >
> > Any comments are welcome.
> >
> > Thanks a lot!
> >
> > Br,
> > Tone
> >
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of tone.zhang
> > Sent: Wednesday, September 5, 2018 1:18 PM
> > To: dev@dpdk.org
> > Cc: Gavin Hu (Arm Technology China) <Gavin.Hu@arm.com>; bruce.richa
> > rdson@intel.com; bluca@debian.org; roszenrami@gmail.com; nd <nd@arm
> > .com>
> > Subject: [dpdk-dev] [PATCH v3] doc: Clarify IOMMU usage with
> > "uio_pci_generic" kernel module
> >
> > 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..b46fc6a 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 disabled. One can add
> > ``intel_iommu=off`` or
> > + ``intel_iommu=pt`` or ``amd_iommu=off`` in GRUB command line on
> > x86_64 systems,
> > + or add ``iommu.passthrough=1`` on arm64 system.
> > +
>
> I'm not really an expert in these IOMMU commands, but for the
> passthrough option on my systems, I've always used "intel_iommu=on
> iommu=pt", rather than "intel_iommu=pt". Can someone confirm that the
> latter works ok, as documented here?
>
> /Bruce
Whops you are right, just checked and we use iommu=pt
--
Kind regards,
Luca Boccassi
@@ -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 disabled. One can add ``intel_iommu=off`` or
+ ``intel_iommu=pt`` or ``amd_iommu=off`` 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.