Subject: Re: 128Mbyte memory Pentium Pro problem
To: Tim W. Janes <janes@signal.dra.hmg.gb>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: current-users
Date: 07/26/1996 08:06:18
On Fri, 26 Jul 1996 11:49:00 +0100 (BST) 
 "Tim W. Janes" <janes@signal.dra.hmg.gb> wrote:

 > If I go up to 119*1024 Kbytes ( or any number above) the system will
 > not boot - it ends up in the debugger.
 > (setting EXTMEM_SIZE= 121856 boot message reports 125435904 bytes)

[ . . . ]

 > Changing root device to wd0a
 > panic: ptdi 24e023

Looks like you've found the "known bug" in the i386 pmap.  Namely, the 
kernel address space is fixed, and can't grow as necessary to support 
large amounts of memory, extremely huge buffer caches, etc.  Yes, this is 
really lame :-)

Thankfully, there is a way to get around this... look in 
i386/include/pmap.h for the NKPDE constant.  Increase that number; double 
it, or something.  You have plenty of memory, so doubling it shouldn't 
hurt :-)

The reason that's not been increased in the the source tree is because it 
leads to pages being wasted in unused pmap overhead if you don't requre 
the additional address space, such as a low memory machine.  That's a 
double-stinger - you have little memory, don't need the extra address 
space, but the pmap would use up a bunch of memory so it could map pages 
you don't have.  Ick :-)  The real solution, of course, is to fix the 
pmap, but thusfar, noone has stepped up to do so.

Ciao.

 -- save the ancient forests - http://www.bayarea.net/~thorpej/forest/ -- 
Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                               Home: 408.866.1912
NAS: M/S 258-6                                          Work: 415.604.0935
Moffett Field, CA 94035                                Pager: 415.428.6939