Bug 518103 - VTD IOMMU 1:1 mapping performance and bug fixes
Summary: VTD IOMMU 1:1 mapping performance and bug fixes
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.5
Hardware: All
OS: Linux
Target Milestone: rc
: ---
Assignee: Don Dutile (Red Hat)
QA Contact: Red Hat Kernel QE team
Depends On:
Blocks: 533192 526946 5.5TechNotes-Updates
TreeView+ depends on / blocked
Reported: 2009-08-18 21:32 UTC by Don Dutile (Red Hat)
Modified: 2014-06-23 20:54 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: INTEL IOMMUs with hardware-assisted, host IOMMU pass-through support had unnecessary performance degradation. Consequence: If IOMMU enabled, and only using host devices, high rate of small DMA packets could cause performance degradation. Fix: Enable use of new hardware-assisted IOMMU pass-through, which minimizes hardware overhead of DMA address -> to -> system address translation. Result: Improved IO performance on newer INTEL machines with IOMMU support
Clone Of:
Last Closed: 2010-03-30 07:41:14 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0178 0 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 5.5 kernel security and bug fix update 2010-03-29 12:18:21 UTC

Description Don Dutile (Red Hat) 2009-08-18 21:32:03 UTC
Description of problem:
On an Intel machine with VTd support, the host devices suffer a performance degradation running with the IOMMU enabled unless "iommu=pt" is set *and* the system has an advanced Vtd support chip set that has hw-assisted pass-through
Upstream has improved the pass-through support with VTd enabled, which makes it work on all variations of Vtd support. 
Updating the RHEL5.4 Vtd support to the more current, upstream version will
provide the updated pass-through support.
Additionally, there are a handful of bug fixes in the upstream version that
should be backported as well.  

Version-Release number of selected component (if applicable):

How reproducible:
intel_iommu=on, iommu=pt on a Weybridge machine yields no performance improvement.  

Steps to Reproduce:
1. with iommu=pt, get similar performance results on host as if iommu was off.
2. Some BIOS's have improper DMAR tables which the VTd IOMMU support is dependent on;  upstream patches (outside of pass-through) cleanly report & exit these 'features'.  RHEL5.4 often crashes on boot with no information about the cause.
Actual results:
Host performance degradation varies with IO traffic and use of the dma-mapping interface by the device driver.  The performance variations range from 20%->80%
on the host.

Expected results:
With the proper software, the performance difference between a host running without IOMMU and a host running with IOMMU is reduced to under 5%.
With additional patches, the IOMMU support fails more gracefully so customers know to seek BIOS updates from vendors versus reporting errors to Red Hat that it cannot resolve.

Additional info:
This update is necessary to have equal performance standing with xen host & guests that use IOMMU when the system has it available.
The idea is to update the code base to 2.6.31, or some stable point in 2.6.32 devel; current code base is 2.6.30-based.

Comment 1 RHEL Program Management 2009-10-13 19:10:28 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update

Comment 5 Don Dutile (Red Hat) 2009-12-04 21:48:32 UTC
Posted 9 patch change set to rkml.

Essentially backported intel-iommu changes
from 2.6.32 along with 5 extras in iommu-2.6.32.git
that are staged for 2.6.32-stable (and in F13/rawhide).

Comment 6 Don Zickus 2009-12-14 19:28:30 UTC
in kernel-2.6.18-180.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5

Please update the appropriate value in the Verified field
(cf_verified) to indicate this fix has been successfully
verified. Include a comment with verification details.

Comment 11 errata-xmlrpc 2010-03-30 07:41:14 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


Comment 13 Don Dutile (Red Hat) 2014-06-23 20:54:47 UTC
filled in doc fields

Note You need to log in before you can comment on or make changes to this bug.