From owner-freebsd-questions Fri May 30 21:44:43 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id VAA05833 for questions-outgoing; Fri, 30 May 1997 21:44:43 -0700 (PDT) Received: from implode.root.com (implode.root.com [198.145.90.17]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id VAA05828 for ; Fri, 30 May 1997 21:44:40 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by implode.root.com (8.8.5/8.8.5) with SMTP id VAA08052; Fri, 30 May 1997 21:46:37 -0700 (PDT) Message-Id: <199705310446.VAA08052@implode.root.com> X-Authentication-Warning: implode.root.com: localhost [127.0.0.1] didn't use HELO protocol To: Robert Morris cc: freebsd-questions@FreeBSD.ORG Subject: Re: 1GB of ram? In-reply-to: Your message of "Fri, 30 May 1997 23:14:27 EDT." <199705310314.XAA16641@sponsz.viaweb.com> From: David Greenman Reply-To: dg@root.com Date: Fri, 30 May 1997 21:46:37 -0700 Sender: owner-questions@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >I have a PentiumPro on a SuperMicro P6DNF with 1GB of RAM running >FreeBSD 2.1.5. I cannot get FreeBSD to work reliably. Here's the >interesting part of my kernel config file: > >maxusers 128 >options "MAXMEM=1048576" >options "NKPDE=127" >options "VM_KMEM_SIZE=50331648" >options "OPEN_MAX=256" >options "CHILD_MAX=512" >options "NMBCLUSTERS=4096" > >My Makefile.i386 says LOAD_ADDRESS?=E0100000 ... >The backtrace is pmap_enter, vm_fault, vm_fault_wire, vm_map_pageable, >vslock, __sysctl. I happen to be running pstat -T when the crash >occurs. This behavior is repeatable. This is probably caused by a bug in sysctl or the /dev/kmem device. External utilities such as pstat and ps attempt to use the /sys header files to get certain constants and among these are ones that are affected by the above kernel options...except that use programs won't see the options and will use the default (wrong) values. Try removing the 'NKPDE' and 'VM_KMEM_SIZE' options above and instead apply the attached patches. These are a subset of what I use on wcarchive and that configuration has been tested to 512MB of memory. -DG David Greenman Core-team/Principal Architect, The FreeBSD Project Index: i386/conf/Makefile.i386 =================================================================== RCS file: /home/ncvs/src/sys/i386/conf/Makefile.i386,v retrieving revision 1.64.4.3 diff -c -r1.64.4.3 Makefile.i386 *** Makefile.i386 1996/05/02 21:43:04 1.64.4.3 --- Makefile.i386 1996/07/21 05:39:17 *************** *** 46,52 **** COPTS= ${INCLUDES} ${IDENT} -DKERNEL -Di386 -DLOAD_ADDRESS=0x${LOAD_ADDRESS} ASFLAGS= CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} ! LOAD_ADDRESS?= F0100000 NORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< --- 46,52 ---- COPTS= ${INCLUDES} ${IDENT} -DKERNEL -Di386 -DLOAD_ADDRESS=0x${LOAD_ADDRESS} ASFLAGS= CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS} ! LOAD_ADDRESS?= E0100000 NORMAL_C= ${CC} -c ${CFLAGS} ${PROF} $< NORMAL_C_C= ${CC} -c ${CFLAGS} ${PROF} ${PARAM} $< Index: i386/include/pmap.h =================================================================== RCS file: /home/ncvs/src/sys/i386/include/pmap.h,v retrieving revision 1.26.4.1 diff -c -r1.26.4.1 pmap.h *** pmap.h 1995/09/08 04:23:52 1.26.4.1 --- pmap.h 1996/06/03 07:14:38 *************** *** 69,75 **** #endif #endif #ifndef NKPDE ! #define NKPDE 63 /* addressable number of page tables/pde's */ #endif #define NUPDE (NPTEPG-NKPDE) /* number of user pde's */ --- 69,75 ---- #endif #endif #ifndef NKPDE ! #define NKPDE 127 /* addressable number of page tables/pde's */ #endif #define NUPDE (NPTEPG-NKPDE) /* number of user pde's */ *************** *** 127,133 **** #define VM_MAX_KERNEL_ADDRESS ((vm_offset_t)KERNBASE + NKPDE*NBPG*NPTEPG) /* virtual sizes (bytes) for various kernel submaps */ ! #define VM_KMEM_SIZE (32 * 1024 * 1024) #define VM_PHYS_SIZE (USRIOSIZE*CLBYTES) #endif /* _MACHINE_VMPARAM_H_ */ --- 127,133 ---- #define VM_MAX_KERNEL_ADDRESS ((vm_offset_t)KERNBASE + NKPDE*NBPG*NPTEPG) /* virtual sizes (bytes) for various kernel submaps */ ! #define VM_KMEM_SIZE (96 * 1024 * 1024) #define VM_PHYS_SIZE (USRIOSIZE*CLBYTES) #endif /* _MACHINE_VMPARAM_H_ */