Subject: Re: panic: ptdi %x
To: None <Chris_G_Demetriou@ux2.sp.cs.cmu.edu, current-users@NetBSD.ORG>
From: Henry G. Juengst, ISKP, Bonn <juengst@saph1.physik.uni-bonn.de>
List: current-users
Date: 03/17/1996 17:18:30
> > What is this:
> > 
> > Mar 16 22:11:46 mui savecore: reboot after panic: ptdi %x
> 
> Recompile your kernel with a larger value of NKPDE (defined in
> i386/include/param.h).
> 
> NetBSD/i386 uses a compile-time-constant number of kernel page table
> pages (defined by NKPDE) to map the kernel.  When it runs out, it
> dies.  This typically happens on machines with lots of memory, or in
> other situtations where you end up wanting to map lots of physical
> memory into kernel space.  (It usually happens on machines with lots of
> memory because they have lots of buffers, which need to be mapped into
> the kernel.)

I have also sent such a bug report including a work around (increasing
NKPDE to 32, as I suggested it jm) in the summer last year.

> 
> 
> I call this a 'bug'.  8-)

The 'bug' is the design, especially in the i386 port. ==:-(

> 
> It's worth noting that BSD/OS (from BSDI) apparently solves this
> by picking the number of kernel page table pages at boot time, which
> means that (assuming their formula for the amount of mapping into
> kernel space you can do is correct), they shouldn't crash by running
> out of kernel page table entries.
> 
> I believe FreeBSD also solves this problem, but i don't know how.
> Perhaps somebody who's familiar with their code could comment.
> 
> 
> 
> cgd

Henry