vmparam.h revision 1.23 1 /* $NetBSD: vmparam.h,v 1.23 1999/04/10 02:15:46 gwr Exp $ */
2
3 /*-
4 * Copyright (c) 1998 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. All advertising materials mentioning features or use of this software
16 * must display the following acknowledgement:
17 * This product includes software developed by the NetBSD
18 * Foundation, Inc. and its contributors.
19 * 4. Neither the name of The NetBSD Foundation nor the names of its
20 * contributors may be used to endorse or promote products derived
21 * from this software without specific prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
24 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
25 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
27 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 */
35
36 #ifdef _SUN3_
37 #include <machine/vmparam3.h>
38 #endif /* SUN3 */
39 #ifdef _SUN3X_
40 #include <machine/vmparam3x.h>
41 #endif /* SUN3X */
42 #ifdef _LKM
43 #define USRSTACK KERNBASE
44 extern char KERNBASE[];
45 #endif /* _LKM */
46
47 /* This is needed by some LKMs. */
48 #define VM_PHYSSEG_MAX 4
49 struct pmap_physseg {
50 /* NULL */
51 };
52
53 /*
54 * The time for a process to be blocked before being very swappable.
55 * This is a number of seconds which the system takes as being a non-trivial
56 * amount of real time. You probably shouldn't change this;
57 * it is used in subtle ways (fractions and multiples of it are, that is, like
58 * half of a ``long time'', almost a long time, etc.)
59 * It is related to human patience and other factors which don't really
60 * change over time.
61 */
62 #define MAXSLP 20
63
64 /*
65 * A swapped in process is given a small amount of core without being bothered
66 * by the page replacement algorithm. Basically this says that if you are
67 * swapped in you deserve some resources. We protect the last SAFERSS
68 * pages against paging and will just swap you out rather than paging you.
69 * Note that each process has at least UPAGES+CLSIZE pages which are not
70 * paged anyways (this is currently 8+2=10 pages or 5k bytes), so this
71 * number just means a swapped in process is given around 25k bytes.
72 * Just for fun: current memory prices are 4600$ a megabyte on VAX (4/22/81),
73 * so we loan each swapped in process memory worth 100$, or just admit
74 * that we don't consider it worthwhile and swap it out to disk which costs
75 * $30/mb or about $0.75.
76 * Update: memory prices have changed recently (9/96). At the current
77 * value of $6 per megabyte, we lend each swapped in process memory worth
78 * $0.15, or just admit that we don't consider it worthwhile and swap it out
79 * to disk which costs $0.20/MB, or just under half a cent.
80 */
81 #define SAFERSS 4 /* nominal ``small'' resident set size
82 protected against replacement */
83