*BSD News Article 86465


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!news.ecn.uoknor.edu!feed1.news.erols.com!howland.erols.net!bloom-beacon.mit.edu!senator-bedfellow.mit.edu!usenet
From: ghudson@mit.edu (Greg Hudson)
Newsgroups: comp.unix.bsd.netbsd.misc
Subject: Re: NetBSD/i386 1.2, 128MB, "mp_map full", help?
Date: 13 Jan 1997 04:41:22 -0500
Organization: Massachusetts Institute of Technology
Lines: 23
Sender: ghudson@the-light-fantastic.MIT.EDU
Message-ID: <x7d3ew552v1.fsf@the-light-fantastic.MIT.EDU>
References: <VIXIE.97Jan12223511@wisdom.vix.com>
NNTP-Posting-Host: the-light-fantastic.mit.edu
In-reply-to: vixie@vix.com's message of 13 Jan 1997 06:35:11 GMT
X-Newsreader: Gnus v5.1
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.netbsd.misc:5111

> 	panic: ptdi 1ba063
> 	panic: malloc: out of space in kmem_map

So, I'm not totally confident of my answer here, but on a 128MB
machine, it's fairly likely that you need to adjust the value of NKPDE
in arch/i386/include/pmap.h.  You can't use a kernel config option.

In 1.2, NKPDE is set to a fixed value of 12, which is generally
sufficient for up to about 32MB of RAM (given the MAXBSIZE value of
16K in 1.2; it's gone up to MAXPHYS or 64K in -current).  In -current,
NKPDE is computed automatically using the formula:

	min(NKPDE_MAX, NKPDE_BASE + (biosextmem >> 10) * NKPDE_SCALE)

where NKPDE_MAX is 31, NKPDE_BASE is 4, and NKPDE_SCALE is 1.  There's
nothing magic about this formula; it's just something Jason and Chris
thought would work in the large majority of situations.

So on a 128MB machine, I think the calculated value of nkpde comes out
to min(31, 4 + 128), or 31.  So I would try setting NKPDE to 31 for
starters.  We would be interested in knowing if you need to set the
value higher in order to avoid crashes.  I believe each increment of
NKPDE will cost you 4K of wired memory.