Skip site navigation (1)Skip section navigation (2)
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>