vmparam.h revision 1.22 1 /* $NetBSD: vmparam.h,v 1.22 1999/04/05 14:35:13 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
43 /* This is needed by some LKMs. */
44 #define VM_PHYSSEG_MAX 4
45 struct pmap_physseg {
46 /* NULL */
47 };
48
49 /*
50 * The time for a process to be blocked before being very swappable.
51 * This is a number of seconds which the system takes as being a non-trivial
52 * amount of real time. You probably shouldn't change this;
53 * it is used in subtle ways (fractions and multiples of it are, that is, like
54 * half of a ``long time'', almost a long time, etc.)
55 * It is related to human patience and other factors which don't really
56 * change over time.
57 */
58 #define MAXSLP 20
59
60 /*
61 * A swapped in process is given a small amount of core without being bothered
62 * by the page replacement algorithm. Basically this says that if you are
63 * swapped in you deserve some resources. We protect the last SAFERSS
64 * pages against paging and will just swap you out rather than paging you.
65 * Note that each process has at least UPAGES+CLSIZE pages which are not
66 * paged anyways (this is currently 8+2=10 pages or 5k bytes), so this
67 * number just means a swapped in process is given around 25k bytes.
68 * Just for fun: current memory prices are 4600$ a megabyte on VAX (4/22/81),
69 * so we loan each swapped in process memory worth 100$, or just admit
70 * that we don't consider it worthwhile and swap it out to disk which costs
71 * $30/mb or about $0.75.
72 * Update: memory prices have changed recently (9/96). At the current
73 * value of $6 per megabyte, we lend each swapped in process memory worth
74 * $0.15, or just admit that we don't consider it worthwhile and swap it out
75 * to disk which costs $0.20/MB, or just under half a cent.
76 */
77 #define SAFERSS 4 /* nominal ``small'' resident set size
78 protected against replacement */
79