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