Thanks for the response. Interestingly, i could not find any BIOS
options pertaining to memory.
I found the following.
# cat /proc/mtrr
reg00: base=0xfeda0000 (4077MB), size= 128KB: write-back, count=1
reg01: base=0xfff00000 (4095MB), size= 1MB: write-protect, count=1
reg02: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1
reg03: base=0x80000000 (2048MB), size=1024MB: write-back, count=1
reg04: base=0xc0000000 (3072MB), size= 256MB: write-back, count=1
Could be incompatible memory modules or something?
Thanks
Srikanth
Wolfgang S. Rupprecht wrote:
Srikanth Konjarla <srikanth.konjarla@xxxxxxxxx> writes:
I am running F7 in 64-bit mode on a laptop. I have upgraded the memory
from 3G to 4G (Bios confirms it) but kernel sees only 3.2G (i have
passed mem=4096M kernel parameter). Wondering if i am missing anything
here.
What you are missing is the really nasty design of IBM-PC legacy
memory allocations. ;-)
Play around in your BIOS and see if you can map the excess memory
above 4GB. Often the labels for the settings will have the term
"MTRR" in the name. When you get it right "cat /proc/mtrr" should
show the extra 750MBytes mapped above 4 Gigs. The setting names might
not make much sense (at least they don't on my Tyan). You might need
to just try them all and see what effect they have on the linux mttr
settings. Here is what it looks like on my board when I have it set
to see all 4 GBytes:
$ cat /proc/mtrr
reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1
reg01: base=0x80000000 (2048MB), size=1024MB: write-back, count=1
reg02: base=0xc0000000 (3072MB), size= 256MB: write-back, count=1
reg03: base=0xcff00000 (3327MB), size= 1MB: uncachable, count=1
reg04: base=0x100000000 (4096MB), size= 512MB: write-back, count=1
reg05: base=0x120000000 (4608MB), size= 256MB: write-back, count=1
reg06: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=2
Notice the first 3 entries are 3.25 GBytes (reg00, reg01 and reg02).
The last 0.75GBytes are mapped above 4GByte (reg04 and reg05).
-wolfgang