Lines Matching +full:4 +full:kb +full:- +full:page
9 'ds - \(mi
10 'ds / \\h'\\w' 'u-\\w'/'u'/
11 'ds /* \\h'\\w' 'u-\\w'/'u'/*
23 \f2\s12\h'\\n(.lu-\w'\\*(=f'u'\\*(=f\fP\s0\h'|0u'
31 'ie o 'tl '\f2\\*(=M''Page % of \\*(=G\fP'
45 'ds -K
47 'de -C
51 'ds -K \fP
54 '-C
59 \f2\s14\h'\\n(.lu-\w'\\$1'u'\\$1\fP\s0\h'|0u'\c
67 'de -F
72 '-F
101 .H 1 "Appendix A - Implementation Details"
105 \fI\h'\w' 'u-\w'/'u'/\fP\fI*\fP\c\c
120 \fI*\fP\fI\h'\w' 'u-\w'/'u'/\fP\c
121 '-C
123 \*(+K#define\*(-K MINBUCKET\h'|31n'4\h'|51n'\fI\h'\w' 'u-\w'/'u'/\fP\fI*\fP\c\c
125 4 => min allocation of 16 bytes \fI*\fP\fI\h'\w' 'u-\w'/'u'/\fP\c
126 '-C
129 \*(+K#define\*(-K MAXALLOCSAVE\h'|31n'(2 \fI*\fP CLBYTES)
131 \fI\h'\w' 'u-\w'/'u'/\fP\fI*\fP\c\c
136 \fI*\fP\fI\h'\w' 'u-\w'/'u'/\fP\c
137 '-C
140 \*(+K#define\*(-K MAXKMEM\h'|31n'(1024 \fI*\fP PAGESIZE)
142 \fI\h'\w' 'u-\w'/'u'/\fP\fI*\fP\c\c
146 \fI*\fP This arena is known to start on a page boundary\&.
147 \fI*\fP\fI\h'\w' 'u-\w'/'u'/\fP\c
148 '-C
150 \*(+Kextern\*(-K \*(+Kchar\*(-K kmembase[MAXKMEM];
152 \fI\h'\w' 'u-\w'/'u'/\fP\fI*\fP\c\c
155 \fI*\fP Array of descriptors that describe the contents of each page
156 \fI*\fP\fI\h'\w' 'u-\w'/'u'/\fP\c
157 '-C
159 \*(+Kstruct\*(-K kmemsizes \*(+K{\*(-K
160 \h'|11n'\*(+Kshort\*(-K\h'|21n'ks\*_indx;\h'|41n'\fI\h'\w' 'u-\w'/'u'/\fP\fI*\fP\c\c
162 bucket index, size of small allocations \fI*\fP\fI\h'\w' 'u-\w'/'u'/\fP\c
163 '-C
165 \h'|11n'u\*_short\h'|21n'ks\*_pagecnt;\h'|41n'\fI\h'\w' 'u-\w'/'u'/\fP\fI*\fP\c\c
167 for large allocations, pages allocated \fI*\fP\fI\h'\w' 'u-\w'/'u'/\fP\c
168 '-C
170 \*(+K}\*(-K\c\c
171 '-F
172 kmemsizes[MAXKMEM \fI\h'\w' 'u-\w'/'u'/\fP PAGESIZE];
175 \fI\h'\w' 'u-\w'/'u'/\fP\fI*\fP\c\c
179 \fI*\fP\fI\h'\w' 'u-\w'/'u'/\fP\c
180 '-C
182 \*(+Kstruct\*(-K kmembuckets \*(+K{\*(-K
183 \h'|11n'caddr\*_t kb\*_next;\h'|41n'\fI\h'\w' 'u-\w'/'u'/\fP\fI*\fP\c\c
185 list of free blocks \fI*\fP\fI\h'\w' 'u-\w'/'u'/\fP\c
186 '-C
188 \*(+K}\*(-K\c\c
189 '-F
192 \fI\h'\w' 'u-\w'/'u'/\fP\fI*\fP\c\c
197 \fI*\fP\fI\h'\w' 'u-\w'/'u'/\fP\c
198 '-C
201 \*(+K#define\*(-K MINALLOCSIZE\h'|31n'(1 << MINBUCKET)
203 \*(+K#define\*(-K BUCKETINDX(size) \e
210 \h'|41n': (size) <= (MINALLOCSIZE \fI*\fP 4) \e
215 \h'|51n'? (MINBUCKET + 4) \e
221 \h'|31n'\fI\h'\w' 'u-\w'/'u'/\fP\fI*\fP\c\c
223 etc \&.\&.\&. \fI*\fP\fI\h'\w' 'u-\w'/'u'/\fP\c
224 '-C
227 \fI\h'\w' 'u-\w'/'u'/\fP\fI*\fP\c\c
230 \fI*\fP Macro versions for the usual cases of malloc\fI\h'\w' 'u-\w'/'u'/\fPfree
231 \fI*\fP\fI\h'\w' 'u-\w'/'u'/\fP\c
232 '-C
235 \*(+K#define\*(-K MALLOC(space, cast, size, flags) \*(+K{\*(-K \e
236 \h'|11n'\*(+Kregister\*(-K \*(+Kstruct\*(-K kmembuckets \fI*\fPkbp = &bucket[BUCKETINDX(size)]; \e
237 \h'|11n'\*(+Klong\*(-K s = splimp(); \e
238 \h'|11n'\*(+Kif\*(-K (kbp\*->kb\*_next == NULL) \*(+K{\*(-K \e
240 \h'|11n'\*(+K}\*(-K \*(+Kelse\*(-K \*(+K{\*(-K \e
241 \h'|21n'(space) = (cast)kbp\*->kb\*_next; \e
242 \h'|21n'kbp\*->kb\*_next = \fI*\fP(caddr\*_t \fI*\fP)(space); \e
243 \h'|11n'\*(+K}\*(-K \e
245 \*(+K}\*(-K\c\c
246 '-F
251 \*(+K#define\*(-K FREE(addr) \*(+K{\*(-K \e
252 \h'|11n'\*(+Kregister\*(-K \*(+Kstruct\*(-K kmembuckets \fI*\fPkbp; \e
253 \h'|11n'\*(+Kregister\*(-K \*(+Kstruct\*(-K kmemsizes \fI*\fPksp = \e
254 \h'|21n'&kmemsizes[((addr) \*- kmembase) \fI\h'\w' 'u-\w'/'u'/\fP PAGESIZE]; \e
255 \h'|11n'\*(+Klong\*(-K s = splimp(); \e
256 \h'|11n'\*(+Kif\*(-K (1 << ksp\*->ks\*_indx > MAXALLOCSAVE) \*(+K{\*(-K \e
258 \h'|11n'\*(+K}\*(-K \*(+Kelse\*(-K \*(+K{\*(-K \e
259 \h'|21n'kbp = &bucket[ksp\*->ks\*_indx]; \e
260 \h'|21n'\fI*\fP(caddr\*_t \fI*\fP)(addr) = kbp\*->kb\*_next; \e
261 \h'|21n'kbp\*->kb\*_next = (caddr\*_t)(addr); \e
262 \h'|11n'\*(+K}\*(-K \e
264 \*(+K}\*(-K\c\c
265 '-F