Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tlug] Re: Notebook Question



Jim Breen wrote:

> One further question, then comments following on my previous questions.
> 
> "dmesg" is full of lines saying:
> 
> 	mtrr: no more MTRRs available
> 
> /var/log/messages says it was repeated 229 times.

This is not that bad, it probably means the BIOS sets up the MTRRs
(Memory Type Range Registers) in a funny way. I've seen this on our
Siemens-Nixdorf machines.
You can see your MTRR-Setup in /proc/mtrr:
Normally you should have one for your main memory (the first one)
and one or two for your GPU (Set up by the X server).
In your case it probably already uses all available for main memory.
The size normally has to be a power of two value, so if you have 768MB
RAM you need two entries, one with 512MB size and one with 256MB size,
alternatively it _should_ be possible to use one with 1024MB size, at
least if no expansion cards are mapped in that region.

On the SNI-machines it did some stupid mapping:
The machines have 256MB main memory and /proc/mtrr looked like this:
td@example.com[101]~> cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size= 128MB: write-back, count=1
reg01: base=0x08000000 ( 128MB), size=  64MB: write-back, count=1
reg02: base=0x0c000000 ( 192MB), size=  32MB: write-back, count=1
reg03: base=0x0e000000 ( 224MB), size=  16MB: write-back, count=1
reg04: base=0x0f000000 ( 240MB), size=   8MB: write-back, count=1
reg05: base=0x0f800000 ( 248MB), size=   4MB: write-back, count=1
reg06: base=0x0fc00000 ( 252MB), size=   2MB: write-back, count=1
reg07: base=0x0fe00000 ( 254MB), size=   1MB: write-back, count=1

(8 entries are maximum)

So I added this to /etc/init.d/boot.local:
echo "Setting up mtrr"
echo "disable=7" > /proc/mtrr
echo "disable=6" > /proc/mtrr
echo "disable=5" > /proc/mtrr
echo "disable=4" > /proc/mtrr
echo "disable=3" > /proc/mtrr
echo "disable=2" > /proc/mtrr
echo "disable=1" > /proc/mtrr
echo "disable=0" > /proc/mtrr
echo "base=0x00000000 size=0x08000000 type=write-back" > /proc/mtrr
echo "base=0x08000000 size=0x08000000 type=write-back" > /proc/mtrr

After that it looks like this:
td@example.com[105]~> cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size= 128MB: write-back, count=1
reg01: base=0x08000000 ( 128MB), size= 128MB: write-back, count=1
reg02: base=0xf8000000 (3968MB), size=  64MB: write-combining, count=1

The third entry is from the X-Server which previously complained about
"no more MTRRs available" :-)
That only means your graphics subsystem is running slower than it could.

-- 
Tobias								PGP: 0x9AC7E0BC
This mail is made of 100% recycled bits

Attachment: pgp00128.pgp
Description: PGP signature


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links