break memory filesystem into two files
[unix-history] / usr / src / sys / conf / param.c
index 3bb73cb..b3ba2d1 100644 (file)
@@ -1,21 +1,43 @@
-/*     param.c 6.3     84/01/09        */
+/*
+ * Copyright (c) 1980, 1986, 1989 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley.  The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ *     @(#)param.c     7.7 (Berkeley) %G%
+ */
 
 
-#include "../h/param.h"
-#include "../h/systm.h"
-#include "../h/socket.h"
-#include "../h/dir.h"
-#include "../h/user.h"
-#include "../h/proc.h"
-#include "../h/text.h"
-#include "../h/inode.h"
-#include "../h/file.h"
-#include "../h/callout.h"
-#include "../h/clist.h"
-#include "../h/cmap.h"
-#include "../h/mbuf.h"
-#include "../h/nami.h"
-#include "../h/quota.h"
-#include "../h/kernel.h"
+#ifndef lint
+char copyright[] =
+"@(#) Copyright (c) 1980, 1986, 1989 Regents of the University of California.\n\
+ All rights reserved.\n";
+#endif not lint
+
+#include "../sys/param.h"
+#include "../sys/systm.h"
+#include "../sys/socket.h"
+#include "../sys/user.h"
+#include "../sys/proc.h"
+#include "../sys/text.h"
+#include "../sys/vnode.h"
+#include "../ufs/inode.h"
+#include "../sys/file.h"
+#include "../sys/callout.h"
+#include "../sys/clist.h"
+#include "../sys/cmap.h"
+#include "../sys/mbuf.h"
+#include "../ufs/quota.h"
+#include "../sys/kernel.h"
 /*
  * System parameter formulae.
  *
 /*
  * System parameter formulae.
  *
  * Compiled with -DHZ=xx -DTIMEZONE=x -DDST=x -DMAXUSERS=xx
  */
 
  * Compiled with -DHZ=xx -DTIMEZONE=x -DDST=x -DMAXUSERS=xx
  */
 
+#ifndef HZ
 #define        HZ 100
 #define        HZ 100
+#endif
 int    hz = HZ;
 int    tick = 1000000 / HZ;
 int    hz = HZ;
 int    tick = 1000000 / HZ;
+int    tickadj = 240000 / (60 * HZ);           /* can adjust 240ms in 60s */
 struct timezone tz = { TIMEZONE, DST };
 #define        NPROC (20 + 8 * MAXUSERS)
 int    nproc = NPROC;
 struct timezone tz = { TIMEZONE, DST };
 #define        NPROC (20 + 8 * MAXUSERS)
 int    nproc = NPROC;
-#ifdef INET
-#define        NETSLOP 20                      /* for all the lousy servers*/
+int    ntext = 36 + MAXUSERS;
+#define NINODE ((NPROC + 16 + MAXUSERS) + 32)
+int    ninode = NINODE;
+#ifndef NFS
+int    nchsize = NINODE * 11 / 10;
 #else
 #else
-#define        NETSLOP 0
-#endif
-#define NCHSIZE (60 + 2 * MAXUSERS)
-int    nchsize = NCHSIZE;
-int    ntext = 24 + MAXUSERS + NETSLOP;
-int    ninode = (NPROC + 16 + MAXUSERS + (2 * NCHSIZE / 3)) + 32;
-int    nfile = 16 * (NPROC + 16 + MAXUSERS) / 10 + 32 + 2 * NETSLOP;
+int    nnfsnode = NINODE;
+int    nchsize = (2 * NINODE) * 11 / 10;
+#endif /* NFS */
+int    nfile = 16 * (NPROC + 16 + MAXUSERS) / 10 + 32;
 int    ncallout = 16 + NPROC;
 int    ncallout = 16 + NPROC;
-int    nclist = 100 + 16 * MAXUSERS;
-int    nport = NPROC / 2;
+int    nclist = 60 + 12 * MAXUSERS;
 int     nmbclusters = NMBCLUSTERS;
 #ifdef QUOTA
 int     nmbclusters = NMBCLUSTERS;
 #ifdef QUOTA
-int    nquota = (MAXUSERS * 9)/7 + 3;
-int    ndquot = (MAXUSERS*NMOUNT)/4 + NPROC;
+int    nquota = (MAXUSERS * 9) / 7 + 3;
+int    ndquot = NINODE + (MAXUSERS * NMOUNT) / 4;
 #endif
 #endif
+int    fscale = FSCALE;        /* kernel uses `FSCALE', user uses `fscale' */
 
 /*
  * These are initialized at bootstrap time
 
 /*
  * These are initialized at bootstrap time
@@ -59,7 +84,8 @@ int   nbuf, nswbuf;
 
 /*
  * These have to be allocated somewhere; allocating
 
 /*
  * These have to be allocated somewhere; allocating
- * them here forces loader errors if this file is omitted.
+ * them here forces loader errors if this file is omitted
+ * (if they've been externed everywhere else; hah!).
  */
 struct proc *proc, *procNPROC;
 struct text *text, *textNTEXT;
  */
 struct proc *proc, *procNPROC;
 struct text *text, *textNTEXT;
@@ -68,11 +94,9 @@ struct       file *file, *fileNFILE;
 struct         callout *callout;
 struct cblock *cfree;
 struct buf *buf, *swbuf;
 struct         callout *callout;
 struct cblock *cfree;
 struct buf *buf, *swbuf;
-short  *swsize;
-int    *swpf;
 char   *buffers;
 struct cmap *cmap, *ecmap;
 char   *buffers;
 struct cmap *cmap, *ecmap;
-struct nch *nch;
+struct namecache *namecache;
 #ifdef QUOTA
 struct quota *quota, *quotaNQUOTA;
 struct dquot *dquot, *dquotNDQUOT;
 #ifdef QUOTA
 struct quota *quota, *quotaNQUOTA;
 struct dquot *dquot, *dquotNDQUOT;