Date: Fri, 30 May 1997 21:46:37 -0700 From: David Greenman <dg@root.com> To: Robert Morris <rtm@viaweb.com> Cc: freebsd-questions@FreeBSD.ORG Subject: Re: 1GB of ram? Message-ID: <199705310446.VAA08052@implode.root.com> In-Reply-To: Your message of "Fri, 30 May 1997 23:14:27 EDT." <199705310314.XAA16641@sponsz.viaweb.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>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_ */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705310446.VAA08052>