On Thursday 24 November 2005 00:44, John Craig wrote:
Hi,
I have a dual Opteron File server with 4GB ram, and just "upgraded" to SLES9 x86-64 (was previously running SUSE 9.3 x86-64 without problem). The system keeps crashing, and I am starting to suspect mtrr.
Some other posts on the subject indicate that mtrr is used to remap the memory that is hidden by the PCI bus to a region above the existing physical memory, so it can be accessible.
No, MTRRs (Memory Type Range Registers) cannot remap memory. They just define if memory (or non memory) can be cached or not. There are CPU specific mechanism for remapping memory above the PCI hole though. One problem is that since MTRRs are quite limited sometimes memory remapping results in a configuration that cannot be correctly covered with MTRRs - and sometimes it could but the BIOS just gets it wrong.
Something else that I thought funny is that there are 2 PCI -X cards in it that work fine but attempting to put in another (an Intel dual GigE card) prevents the system from booting or even passing POST (even with the other cards removed). The same card works in another dual Opteron machine (different mother board) running SLES9 without problem.
It's probably a BIOS problem in that it sets up the MTRRs incorrectly in some cases, which can lead to such lockups. The kernel cannot fix it up for the BIOS unfortunately.
So, if erroneous memory mapping by mtrr is causing the lockups, how can I remap or disable memory mapping?
There are usually options in the BIOS setup for "memory remapping", with one option to turn it off. -Andi