Description of problem: This could be particular to low memory boxes , less than 4gb memory maybe? I have the following message and a noticable slowness on the machines with Qlogic cards on the boxes with 2GB of memory: Sep 4 06:35:07 dell-pe1950-03 kernel: mtrr: base or size exceeds the MTRR width Sep 4 06:35:07 dell-pe1950-03 kernel: ib_ipath 0000:0c:00.0: mtrr_add() WC for PIO bufs failed (-22) Sep 4 06:35:07 dell-pe1950-03 kernel: ib_ipath 0000:0c:00.0: infinipath0: Write combining not enabled (err 22): performance may be poor The performance is indeed poor... Compare this MT based client results: Client connecting to 192.168.1.25, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.1.40 port 39665 connected with 192.168.1.25 port 5001 [ 3] 0.0-10.0 sec 2.34 GBytes 2.01 Gbits/sec To this IPATH based client results where the above errors are retrieved: Client connecting to 192.168.1.25, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.1.20 port 59478 connected with 192.168.1.25 port 5001 [ 3] 0.0-10.0 sec 355 MBytes 297 Mbits/sec Version-Release number of selected component (if applicable): # uname -a Linux dell-pe1950-02.rhts.boston.redhat.com 2.6.21-37.el5rt #1 SMP PREEMPT RT Thu Aug 30 16:05:41 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux How reproducible: Very. Steps to Reproduce: 1. Install an ipath based card on a box with less than 4 gb memory. 2. 3. Actual results: Expected results: Additional info:
MTRR stands for memory type range register. It is the kernel provided means by which you can configure the motherboard and CPU to do either caching, no caching, or write combining on memory ranges. The error in question means that the ipath driver is attempting to use the general kernel facility for setting the memory type of the IO memory on the card. The CPU in the machine is not allowing the memory type to be set to write combining. Since the ipath cards are mostly software driver based with the driver writing instructions into the cards memory region, it goes much faster when multiple 32bit IO writes are combined into a 32byte burst. This doesn't happen on this machine because the chipset isn't allowing that memory region to be mapped as write combining. All this really means is that the test machine you are using isn't well suited to this card because the motherboard doesn't support what the card needs in order to perform well (and it has nothing to do with RAM size, just motherboard memory mapping capabilities). Closing as NOTABUG.