[dpdk-dev] [PATCH v3] doc: add known issue for iommu and igb_uio

Sergio Gonzalez Monroy sergio.gonzalez.monroy at intel.com
Fri Dec 12 15:43:47 CET 2014


Known issue regarding iommu/VT-d and igb_uio on Linux kernel version 3.15
to 3.17 where unbinding the device from the driver removes the 1:1 mapping
for the device on the iommu resulting in memory access errors.

Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy at intel.com>
---
v3:
 Remove reference number
 Add Linux commit links

v2:
 Fix title uppercase
 Add extra blank line to show proper indentation

v1:
 Known igb_uio issue when iommu/vt-d is on

 doc/guides/rel_notes/known_issues.rst | 38 +++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/doc/guides/rel_notes/known_issues.rst b/doc/guides/rel_notes/known_issues.rst
index 8ef654a..0cfecab 100644
--- a/doc/guides/rel_notes/known_issues.rst
+++ b/doc/guides/rel_notes/known_issues.rst
@@ -1026,3 +1026,41 @@ Stopping the port does not down the link on Intel® 40G ethernet controller
 | Driver/Module                  | Poll Mode Driver (PMD)                                                               |
 |                                |                                                                                      |
 +--------------------------------+--------------------------------------------------------------------------------------+
+
+Devices bound to igb_uio with VT-d enabled do not work on Linux* kernel 3.15-3.17
+---------------------------------------------------------------------------------
+
++--------------------------------+--------------------------------------------------------------------------------------+
+| Title                          | Devices bound to igb_uio with VT-d enabled do not work on Linux* kernel 3.15-3.17    |
+|                                |                                                                                      |
++================================+======================================================================================+
+| Description                    | When VT-d is enabled (iommu=pt intel_iommu=on), devices are 1:1 mapped.              |
+|                                | In the Linux* kernel unbinding devices from drivers removes that mapping which       |
+|                                | result in IOMMU errors.                                                              |
+|                                |                                                                                      |
+|                                | Introduced in Linux `kernel 3.15 commit <https://git.kernel.org/cgit/linux/kernel/   |
+|                                | git/torvalds/linux.git/commit/drivers/iommu/                                         |
+|                                | intel-iommu.c?id=816997d03bca9fabcee65f3481eb0297103eceb7>`_,                        |
+|                                | solved in Linux `kernel 3.18 commit <https://git.kernel.org/cgit/linux/kernel/git/   |
+|                                | torvalds/linux.git/commit/drivers/iommu/                                             |
+|                                | intel-iommu.c?id=1196c2fb0407683c2df92d3d09f9144d42830894>`_.                        |
+|                                |                                                                                      |
++--------------------------------+--------------------------------------------------------------------------------------+
+| Implication                    | Devices will not be allowed to access memory.                                        |
+|                                |                                                                                      |
++--------------------------------+--------------------------------------------------------------------------------------+
+| Resolution/ Workaround         | Use earlier or later kernel versions, or avoid driver binding on boot by             |
+|                                | blacklisting the driver modules.                                                     |
+|                                | ie. in the case of ixgbe, we can pass the kernel command line option:                |
+|                                |                                                                                      |
+|                                |     modprobe.blacklist=ixgbe                                                         |
+|                                |                                                                                      |
+|                                | This way we do not need to unbind the device to bind it to igb_uio.                  |
+|                                |                                                                                      |
++--------------------------------+--------------------------------------------------------------------------------------+
+| Affected Environment/ Platform | Linux* systems with kernel versions 3.15 to 3.17                                     |
+|                                |                                                                                      |
++--------------------------------+--------------------------------------------------------------------------------------+
+| Driver/Module                  | igb_uio module                                                                       |
+|                                |                                                                                      |
++--------------------------------+--------------------------------------------------------------------------------------+
-- 
1.9.3



More information about the dev mailing list