intel(0): Failed to set up write-combining range...

Discussion in 'Linux' started by wess2, Sep 27, 2008.

  1. wess2

    wess2

    Joined:
    Sep 27, 2008
    Messages:
    6
    Likes Received:
    0
    My Xorg.0.log has this warning:
    And indeed, the mtrr table seems to be full:
    Code:
    ~$ cat /proc/mtrr 
    reg00: base=0xfffe0000 (4095MB), size= 128KB: write-protect, count=1
    reg01: base=0xfffc0000 (4095MB), size= 128KB: uncachable, count=1
    reg02: base=0x00000000 (   0MB), size= 256MB: write-back, count=1
    reg03: base=0x10000000 ( 256MB), size= 256MB: write-back, count=1
    reg04: base=0x1f800000 ( 504MB), size=   8MB: uncachable, count=1
    reg05: base=0x1f600000 ( 502MB), size=   2MB: uncachable, count=1
    reg06: base=0x1f500000 ( 501MB), size=   1MB: uncachable, count=1
    reg07: base=0x00000000 (   0MB), size= 128KB: uncachable, count=1
    
    I was wondering if this is expected when running linux on Aone, does everyone get this same "issue"?
    I'm running debian currently, and didn't remember to check if this happened with linpus too.. so I'd appreciate if someone running linpus could report back.
     
    wess2, Sep 27, 2008
    #1
  2. wess2

    cpchan

    Joined:
    Sep 22, 2008
    Messages:
    201
    Likes Received:
    0
    Put this:

    Code:
    echo "disable=4" > /proc/mtrr
    echo "base=0x1f800000 size=0x800000 type=write-back" > /proc/mtrr
    in your rc.S right after the line:

    Code:
    /etc/rc.d/rc.last &
    
    Putting it in rc.local will not work since X have already started.
     
    cpchan, Sep 27, 2008
    #2
  3. wess2

    wess2

    Joined:
    Sep 27, 2008
    Messages:
    6
    Likes Received:
    0
    Thanks, that did the trick!
    Have you (or anyone here) noted any undesireable side effects from using this?

    Anyway, this "trick" seems to improve performance quite a lot in some OGL applications; my FPS on Freespace2 increased almost 100% :shock:

    Seems to have no effect on GlxGears or GtkPerf though.

    Thanks again cpchan.
    -wess
     
    wess2, Sep 27, 2008
    #3
  4. wess2

    cpchan

    Joined:
    Sep 22, 2008
    Messages:
    201
    Likes Received:
    0
    No problem. You should also get better 3D performance if you put:

    Code:
    export INTEL_BATCH=1
    in your /etc/profile.local or what ever profile file you are using.

    No, I have not noticed any undesirable side effects.

    Out of curiosity what is your approx. FPS in GlxGears? With my tweaks so far, I am getting between 1006.764 FPS to 1036.503 FPS.
     
    cpchan, Sep 28, 2008
    #4
  5. wess2

    wess2

    Joined:
    Sep 27, 2008
    Messages:
    6
    Likes Received:
    0
    Yes, that one I had in place already.

    I'm getting about 955..960 FPS (using Intel driver 2.3.2).

    Cheers!
    -wess
     
    wess2, Sep 28, 2008
    #5
  6. wess2

    kapinouwi

    Joined:
    Aug 15, 2008
    Messages:
    183
    Likes Received:
    0
    Location:
    france
    with no change i have more 1100 fps in glxgears

    but with glx in front of the screen and mania drive running in window : 300 fps
     
    kapinouwi, Oct 1, 2008
    #6
  7. wess2

    BrucePerens

    Joined:
    Jan 16, 2009
    Messages:
    2
    Likes Received:
    0
    Linux 2.6.28 MTRR cleanup

    The Linux kernel 2.6.28 and higher will consolidate the MTRRs for you. You need to build a kernel. Enable MTRR cleanup in "make menuconfig", set the enable value to "1", and the spare MTRR value to "1". It ends up with 4 MTRRs used when X is running, rather than the 8 used and no spares for X that we had before.

    IMO this is a problem in the Aspire One BIOS, they should be setting their MTRRs as Linux does after consolidating them. But they don't care, because Windows uses PAT to access the graphics card, and doesn't need an MTRR to do this. Linux has PAT, but the subsystem necessary to use it (graphics memory allocator) is brand new and nobody is using them in drivers yet.
     
    BrucePerens, Jan 17, 2009
    #7
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.