|
|
1.1 root 1: /* (-lgl
2: * COHERENT Version 5.0
3: * Copyright (c) 1982, 1993 by Mark Williams Company.
4: * All rights reserved. May not be copied without permission.
5: -lgl) */
6: /*
7: * Scheduling parameters.
8: * These are identical to the pdp11 parameters except that there is no MAP
9: * parameter for claiming the unibus map.
10: */
11: #ifndef __SYS_SCHED_H__
12: #define __SYS_SCHED_H__
13:
14: #if _I386
15: #include <sys/ksynch.h>
16:
17: /*
18: * scheduler priorities for sleeping processes
19: */
20: enum {
21: prilo = 3, /* low priority */
22: pritape = 10, /* appropriate for tape driver */
23: primed = 17, /* medium priority */
24: pritty = 24, /* appropriate for terminal driver */
25: pridisk = 31, /* appropriate for disk driver */
26: prinet = 38, /* appropriate for network driver */
27: prihi = 45 /* high priority */
28: };
29:
30: /*
31: * sleep priorities
32: */
33: enum {
34: slpriNoSig = 0, /* signals may not interrupt sleep */
35: slpriSigLjmp = 1, /* signals cause longjmp (EINTR) */
36: slpriSigCatch = 2 /* signals are caught */
37: };
38:
39: /*
40: * Update parameters. All values are in ticks. The processor value
41: * update interval is always 1.
42: */
43: #define NCRTICK (HZ/10) /* Processor time slice */
44:
45: /*
46: * Values.
47: */
48: #define CVNOSIG 256 /* Lower priorities can interrupt */
49: #define CVCLOCK 1 /* Core value update */
50:
51: #define CVCHILD 32767 /* Initial child core value */
52: #define CVSWAP 256 /* Swapper. */
53: #define CVBLKIO 32767 /* Waiting for block I/O to complete. */
54: #define CVGATE 16384 /* Waiting for a gate to open. */
55: #define CVTTOUT 256 /* Terminal output. */
56: #define CVCLIST 256 /* Waiting for free clists. */
57: #define CVPTSET 256 /* Process trace. */
58: #define CVPTRET 256 /* Process trace stop. */
59: #define CVPIPE 256 /* Waiting for a pipe. */
60: #define CVTTIN 255 /* Terminal input. */
61: #define CVPAUSE 0 /* Pause. */
62: #define CVWAIT 128 /* Wait. */
63:
64: #else
65: /*
66: * Update parameters. All values are in ticks. The processor value
67: * update interval is always 1.
68: */
69: #define NCRTICK (HZ/10) /* Processor time slice */
70: #define NSUTICK (HZ/6) /* Swap value update interval */
71: #define NSRTICK (HZ/2) /* Swap run update interval */
72:
73: /*
74: * Values.
75: */
76: #define CVNOSIG 256 /* Lower priorities can interrupt */
77: #define CVCLOCK 1 /* Core value update */
78: #define SVCLOCK 16 /* Swap value update */
79:
80: /*
81: * Child process.
82: */
83: #define CVCHILD 32767 /* Initial child core value */
84: #define IVCHILD 16 /* Importance */
85: #define SVCHILD 4096 /* Initial child swap value */
86: #define RVCHILD 0 /* Response value */
87:
88: /*
89: * Swapper.
90: */
91: #define CVSWAP 256
92: #define IVSWAP 0
93: #define SVSWAP 0
94:
95: /*
96: * Waiting for block I/O to complete.
97: */
98: #define CVBLKIO 32767
99: #define IVBLKIO 32767
100: #define SVBLKIO 0
101:
102: /*
103: * Waiting for a gate to open.
104: */
105: #define CVGATE 16384
106: #define IVGATE 3
107: #define SVGATE 0
108:
109: /*
110: * Terminal output.
111: */
112: #define CVTTOUT 256
113: #define IVTTOUT 0
114: #define SVTTOUT 0
115:
116: /*
117: * Waiting for free clists.
118: */
119: #define CVCLIST 256
120: #define IVCLIST 0
121: #define SVCLIST 0
122:
123: /*
124: * Process trace.
125: */
126: #define CVPTSET 256
127: #define IVPTSET 0
128: #define SVPTSET 0
129:
130: /*
131: * Process trace stop.
132: */
133: #define CVPTRET 256
134: #define IVPTRET 0
135: #define SVPTRET 0
136:
137: /*
138: * Waiting for a pipe.
139: */
140: #define CVPIPE 256
141: #define IVPIPE 0
142: #define SVPIPE 0
143:
144: /*
145: * Terminal input.
146: */
147: #define CVTTIN 255
148: #define IVTTIN 1
149: #define SVTTIN 32767
150:
151: /*
152: * Pause.
153: */
154: #define CVPAUSE 0
155: #define IVPAUSE -64
156: #define SVPAUSE 0
157:
158: /*
159: * Wait.
160: */
161: #define CVWAIT 128
162: #define IVWAIT -128
163: #define SVWAIT 4096
164:
165: #endif _I386
166: #endif _SYS_SCHED_H
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.