To: NetBSD -current Mailing List <current-users@NetBSD.ORG>
From: Sean Sweda <>
List: current-users
Date: 02/19/1998 19:20:58
This may be specific to port-mac68k, but when I posted to that
list nobody bothered to respond...

I tried to increase the size of the buffer cache, using the following
kernel config options:

options NBUF=512
options BUFPAGES=512

So instead of getting 204 pages using 835584 bytes, I should get
512 pages using 2097152 bytes.  However, from what I can tell, this
does not work properly.  I've traced the "problem" to this line of
code in /usr/src/sys/arch/mac68k/mac68k/machdep.c:

        if (bufpages == 0)
                if (physmem < btoc(2 * 1024 * 1024))
                        bufpages = physmem / 10 / CLSIZE;
                        bufpages = (btoc(2 * 1024 * 1024) + physmem) / 20 / CLSIZE;

        bufpages = min(NKMEMCLUSTERS * 2 / 5, bufpages);

What is this NKMEMCLUSTERS constant?  Where does it get set?  Why does
it override the BUFPAGES option?

here is the brief description in the options man page:

     options NKMEMCLUSTERS=value
     number of slots in the kernel submap "kmem_map".  [Better description,
     please? Chris CGD had some comments that I didn't understand.] Default is
     <look this up>.  Increase this value if you get "out of space in
     kmem_map" panics.

So, what's going on here?


- ---
Sean Sweda              

------- End of Forwarded Message