mtrr: type mismatch for e0000000,10000000 old: write-back new: write-combining

Here is a message which was appearing in my syslog file until I solved the problem :

[drm] Initialized drm 1.1.0 20060810
mtrr: type mismatch for e0000000,10000000 old: write-back new: write-combining

MTRR stands for Memory Type range registers. Its a new feature available in the latest Intel processors.It is a new way of partitioning and managing memory resources in your system.There are two solutions for using the right values for mtrr.
The first one is to add this option to your grub command line :  enable_mtrr_cleanup mtrr_spare_reg_nr=1
The second one is to recompile your current kernel and choose the value 1 instead of 0 for MTRR cleanup enable value (0-1) while issuing the command make menuconfig.

I chose the first solution and I do not get any error messages no more :

dmesg |grep mtrr
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000] MTRR variable ranges enabled:
[    0.000000] original variable MTRRs
[    0.000000] Found optimal setting for mtrr clean up
[    0.000000] New variable MTRRs
[    0.000000] Kernel command line: root=/dev/sda2 ro quiet enable_mtrr_cleanup mtrr_spare_reg_nr=1

cat /proc/mtrr
reg00: base=0x000000000 (    0MB), size= 2048MB, count=1: write-back
reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg02: base=0x0bdd00000 ( 3037MB), size=    1MB, count=1: uncachable
reg03: base=0x0bde00000 ( 3038MB), size=    2MB, count=1: uncachable
reg04: base=0x0be000000 ( 3040MB), size=   32MB, count=1: uncachable
reg05: base=0x0e0000000 ( 3584MB), size=  256MB, count=2: write-combining

For more information :
http://en.gentoo-wiki.com/wiki/MTRR
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/314928
https://help.ubuntu.com/community/AspireOneDiscussion
http://www.phoronix.com/forums/showpost.php?p=74238&postcount=5
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/en-US/Reference_Guide/s2-proc-mtrr.html

Advertisements

4 thoughts on “mtrr: type mismatch for e0000000,10000000 old: write-back new: write-combining

  1. Hello,

    I tried your first suggestion on a Scientific Linux 5.5 system, but I am still getting these mtrr messages. Any idea?

    Peter
    ========================================================
    [root@comet ~]# date
    Thu Feb 3 14:06:06 GMT 2011
    [root@comet ~]# cat /etc/issue
    Scientific Linux SL release 5.5 (Boron)
    Kernel \r on an \m
    [root@comet ~]# uname -a
    Linux comet.ag.rl.ac.uk 2.6.18-194.3.1.el5 #1 SMP Fri May 7 01:43:09 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

    [root@comet ~]# dmesg | grep mtrr
    Command line: ro root=LABEL=/1 rhgb quiet usb-handoff enable_mtrr_cleanup mtrr_spare_reg_nr=1
    Kernel command line: ro root=LABEL=/1 rhgb quiet usb-handoff enable_mtrr_cleanup mtrr_spare_reg_nr=1
    mtrr: type mismatch for e0000000,10000000 old: uncachable new: write-combining
    mtrr: type mismatch for e0000000,10000000 old: uncachable new: write-combining
    [root@comet ~]#

  2. It seems that you are running the lastest stable version of your distro (Scientific Linux 5.5).
    If the source code of your current kernel (2.6.18) is available in the rpm repositories, please download it and have a look in the Documentation directory for a file named mtrr.txt. You will find more information about twicking with the mtrr parameters according to your distro.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s