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