13 |
|
* bmalloc() doesn't keep track of free lists -- it's usually |
14 |
|
* just a buffered call to sbrk(2). However, bmalloc will |
15 |
|
* call mscrounge() if sbrk fails. |
16 |
< |
* mscrounge() returns whatever memory it can find to satisfy the |
16 |
> |
* mscrounge() returns whatever free memory it can find to satisfy the |
17 |
|
* request along with the number of bytes (modified). |
18 |
|
* |
19 |
|
* Greg Ward Lawrence Berkeley Laboratory |
150 |
|
register M_HEAD *mp; |
151 |
|
register int bucket; |
152 |
|
register unsigned bsiz; |
153 |
– |
|
154 |
– |
if (n == 0) |
155 |
– |
return(NULL); |
153 |
|
/* find first bucket that fits */ |
154 |
|
for (bucket = FIRSTBUCKET, bsiz = 1<<FIRSTBUCKET; |
155 |
|
bucket < NBUCKETS; bucket++, bsiz <<= 1) |
219 |
|
int |
220 |
|
getpagesize() /* use SYSV var structure to get page size */ |
221 |
|
{ |
225 |
– |
static int pagesz = 0; |
222 |
|
struct var v; |
223 |
|
|
224 |
< |
if (pagesz == 0) { |
225 |
< |
uvar(&v); |
230 |
< |
pagesz = 1 << v.v_pageshift; |
231 |
< |
} |
232 |
< |
return(pagesz); |
224 |
> |
uvar(&v); |
225 |
> |
return(1 << v.v_pageshift); |
226 |
|
} |
227 |
|
#endif |
228 |
|
#endif |