Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Jul 1997 01:14:22 -0700
From:      David Greenman <dg@root.com>
To:        Jim Dixon <jdd@vbc.net>
Cc:        hackers@FreeBSD.ORG
Subject:   Re: MAX physical memory for FreeBSD ? 
Message-ID:  <199707220814.BAA12568@implode.root.com>
In-Reply-To: Your message of "Tue, 22 Jul 1997 07:31:16 BST." <Pine.BSI.3.91.970722072939.25642Y-100000@avon-gw.uk1.vbc.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
>>    There isn't any specific limit, but some kernel parameters need to be
>> tweaked before more than 256MB can be used. 
>
>Which?  We have a machine (a root name server) that needs to be brought
>up to 512 MB urgently.

   Ugh. Actually, the kernel virtual address space must be increased and this
requires, in addition to changing some kernel parameters (which are hardcoded
in a couple of source files), that you do a "make world" to fix certain
kernel start address assumptions that are in some of the system utilities.
   Patches attached. Note that the process limit increases aren't strictly
necessary, but are probably desired.

-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.89.2.3
diff -c -r1.89.2.3 Makefile.i386
*** Makefile.i386	1997/06/29 16:44:41	1.89.2.3
--- Makefile.i386	1997/07/02 08:56:28
***************
*** 36,42 ****
  .endif
  COPTS=	${INCLUDES} ${IDENT} -DKERNEL
  CFLAGS=	${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS}
! LOAD_ADDRESS?=	F0100000
  .if defined(PROF)
  CFLAGS+=	-malign-functions=4
  .if ${PROFLEVEL} >= 2
--- 36,42 ----
  .endif
  COPTS=	${INCLUDES} ${IDENT} -DKERNEL
  CFLAGS=	${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS}
! LOAD_ADDRESS?=	E0100000
  .if defined(PROF)
  CFLAGS+=	-malign-functions=4
  .if ${PROFLEVEL} >= 2
Index: i386/include/pmap.h
===================================================================
RCS file: /home/ncvs/src/sys/i386/include/pmap.h,v
retrieving revision 1.46
diff -c -r1.46 pmap.h
*** pmap.h	1996/10/13 03:14:57	1.46
--- pmap.h	1997/04/07 08:12:53
***************
*** 91,97 ****
  #define	NKPT			9	/* actual number of kernel page tables */
  #endif
  #ifndef NKPDE
! #define NKPDE			63	/* addressable number of page tables/pde's */
  #endif
  
  /*
--- 91,97 ----
  #define	NKPT			9	/* actual number of kernel page tables */
  #endif
  #ifndef NKPDE
! #define NKPDE			127	/* addressable number of page tables/pde's */
  #endif
  
  /*
Index: i386/include/vmparam.h
===================================================================
RCS file: /home/ncvs/src/sys/i386/include/vmparam.h,v
retrieving revision 1.21.2.1
diff -c -r1.21.2.1 vmparam.h
*** vmparam.h	1997/03/25 04:54:02	1.21.2.1
--- vmparam.h	1997/04/07 08:12:53
***************
*** 52,67 ****
   */
  #define	MAXTSIZ		(16UL*1024*1024)	/* max text size */
  #ifndef DFLDSIZ
! #define	DFLDSIZ		(64UL*1024*1024)	/* initial data size limit */
  #endif
  #ifndef MAXDSIZ
! #define	MAXDSIZ		(128UL*1024*1024)	/* max data size */
  #endif
  #ifndef	DFLSSIZ
  #define	DFLSSIZ		(8UL*1024*1024)		/* initial stack size limit */
  #endif
  #ifndef	MAXSSIZ
! #define	MAXSSIZ		(64UL*1024*1024)	/* max stack size */
  #endif
  #ifndef SGROWSIZ
  #define SGROWSIZ	(128UL*1024)		/* amount to grow stack */
--- 52,67 ----
   */
  #define	MAXTSIZ		(16UL*1024*1024)	/* max text size */
  #ifndef DFLDSIZ
! #define	DFLDSIZ		(256UL*1024*1024)	/* initial data size limit */
  #endif
  #ifndef MAXDSIZ
! #define	MAXDSIZ		(256UL*1024*1024)	/* max data size */
  #endif
  #ifndef	DFLSSIZ
  #define	DFLSSIZ		(8UL*1024*1024)		/* initial stack size limit */
  #endif
  #ifndef	MAXSSIZ
! #define	MAXSSIZ		(128UL*1024*1024)	/* max stack size */
  #endif
  #ifndef SGROWSIZ
  #define SGROWSIZ	(128UL*1024)		/* amount to grow stack */
***************
*** 114,120 ****
  #define VM_MIN_ADDRESS		((vm_offset_t)0)
  
  /* virtual sizes (bytes) for various kernel submaps */
! #define VM_KMEM_SIZE		(32 * 1024 * 1024)
  
  /* read and exec are the same thing */
  #define VM_PROT_READ_IS_EXEC
--- 114,120 ----
  #define VM_MIN_ADDRESS		((vm_offset_t)0)
  
  /* virtual sizes (bytes) for various kernel submaps */
! #define VM_KMEM_SIZE		(96 * 1024 * 1024)
  
  /* read and exec are the same thing */
  #define VM_PROT_READ_IS_EXEC



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707220814.BAA12568>