Draft
Write Combining
MTRR Mapping and Write Combining
IB0056101-00 G.02 Preliminary B-3
A
For systems with very large amounts of memory (32GB or more), it may also be
necessary to adjust the BIOS setting for the PCI hole granularity to 2GB. This
setting allows the memory to be mapped with fewer MTRRs, so that there will be
one or more unused MTRRs for the InfiniPath driver.
Some BIOS’ do not have the MTRR mapping option. It may have a different
name, depending on the chipset, vendor, BIOS, or other factors. For example, it is
sometimes referred to as 32 bit memory hole. This setting must be enabled.
If there is no setting for MTRR mapping or 32 bit memory hole, and you have
problems with degraded performance, contact your system or motherboard
vendor and ask how to enable write combining.
Use the ipath_mtrr Script to Fix MTRR Issues
QLogic also provides a script, ipath_mtrr, which sets the MTRR registers,
enabling maximum performance from the InfiniPath driver. This Python script is
available as a part of the InfiniPath software download, and is contained in the
infinipath* RPM. It is installed in /bin.
To diagnose the machine, run it with no arguments (as root):
# ipath_mtrr
The test results will list any problems, if they exist, and provide suggestions on
what to do.
To fix the MTRR registers, use:
# ipath_mtrr -w
Restart the driver after fixing the registers.
This script needs to be run after each system reboot. It can be set to run
automatically upon restart by adding this line in
/etc/sysconfig/infinipath:
IPATH_MTRR_ACTIVE=1
See the ipath_mtrr(8) man page for more information on other options.