slow last 128MB of RAM in a 2GB system?

Bill McGonigle bill at bfccomputing.com
Thu Apr 12 12:23:24 EDT 2007


Long story short: I put 2GB in my soho "server" and if I use the last  
128MB or RAM or so the machine is murderously slow. If I boot the  
machine mem=1920M it's just fine.

Some googling around has lead me to look at linux himem handling and  
mtrr cache stuff, but I'm not really sure what's going on.

1920MB is practically just fine, but I can't leave well enough alone...

$cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size=1024MB: write-back, count=1
reg01: base=0x40000000 (1024MB), size= 512MB: write-back, count=1
reg02: base=0x60000000 (1536MB), size= 256MB: write-back, count=1
reg03: base=0x70000000 (1792MB), size= 128MB: write-back, count=1
reg04: base=0x78000000 (1920MB), size=  64MB: write-back, count=1

I believe this is telling me that only the first 1920MB of RAM is  
being cached.  But I'm not sure why or what's happening to the last  
128MB.  32MB of that last 128MB is allocated to the integrated  
graphics controller.   Maybe the last 128MB is mapped to the graphics  
controller anyway?  But then why doesn't linux detect this?  Also,  
this wasn't a problem with 1GB in the system.

Documentation/mtrr.txt hasn't been particularly helpful for me, and  
Googling has gotten me a fix, but not much in the way of theory  
(other than MTRR is an old nasty x86 hack and linux ought to dump  
MTRR on modern hardware and use PAT like Windows does - whatever that  
is).

Has anybody figured this out before?

Thanks,
-Bill

-----
Bill McGonigle, Owner           Work: 603.448.4440
BFC Computing, LLC              Home: 603.448.1668
bill at bfccomputing.com           Cell: 603.252.2606
http://www.bfccomputing.com/    Page: 603.442.1833
New Blog: http://blog.bfccomputing.com/
VCard: http://bfccomputing.com/vcard/bill.vcf



More information about the gnhlug-discuss mailing list