diff -ru /usr/src/sys.old/kern/kern_malloc.c /usr/src/sys/kern/kern_malloc.c --- /usr/src/sys.old/kern/kern_malloc.c Wed Apr 18 18:27:46 2001 +++ /usr/src/sys/kern/kern_malloc.c Wed Apr 18 18:54:39 2001 @@ -475,8 +475,8 @@ if ((vm_kmem_size / 2) > (cnt.v_page_count * PAGE_SIZE)) vm_kmem_size = 2 * cnt.v_page_count * PAGE_SIZE; - npg = (nmbufs * MSIZE + nmbclusters * MCLBYTES + vm_kmem_size) - / PAGE_SIZE; + npg = (nmbufs * MSIZE + nmbclusters * MCLBYTES + nmbcnt * + sizeof(union mext_refcnt) + vm_kmem_size) / PAGE_SIZE; kmemusage = (struct kmemusage *) kmem_alloc(kernel_map, (vm_size_t)(npg * sizeof(struct kmemusage))); diff -ru /usr/src/sys.old/kern/uipc_mbuf.c /usr/src/sys/kern/uipc_mbuf.c --- /usr/src/sys.old/kern/uipc_mbuf.c Wed Apr 18 18:27:48 2001 +++ /usr/src/sys/kern/uipc_mbuf.c Wed Apr 18 18:54:47 2001 @@ -121,14 +121,15 @@ static void mbinit(void *dummy) { - vm_offset_t maxaddr, mb_map_size; + vm_offset_t maxaddr; + vm_size_t mb_map_size; /* * Setup the mb_map, allocate requested VM space. */ - mb_map_size = nmbufs * MSIZE + nmbclusters * MCLBYTES + nmbcnt - * sizeof(union mext_refcnt); - mb_map_size = roundup2(mb_map_size, PAGE_SIZE); + mb_map_size = (vm_size_t)(nmbufs * MSIZE + nmbclusters * MCLBYTES + + nmbcnt * sizeof(union mext_refcnt)); + mb_map_size = rounddown(mb_map_size, PAGE_SIZE); mb_map = kmem_suballoc(kmem_map, (vm_offset_t *)&mbutl, &maxaddr, mb_map_size); /* XXX XXX XXX: mb_map->system_map = 1; */ diff -ru /usr/src/sys.old/sys/mbuf.h /usr/src/sys/sys/mbuf.h --- /usr/src/sys.old/sys/mbuf.h Wed Apr 18 18:28:28 2001 +++ /usr/src/sys/sys/mbuf.h Wed Apr 18 18:34:11 2001 @@ -666,6 +666,7 @@ extern struct mcntfree_lst mcntfree; extern struct mbffree_lst mmbfree; extern int nmbclusters; +extern int nmbcnt; extern int nmbufs; extern int nsfbufs;