| version 1.26, 1999/05/10 21:15:42 |
version 1.27, 1999/06/06 22:20:15 |
| Line 313 pr_rmpage(pp, ph) |
|
| Line 313 pr_rmpage(pp, ph) |
|
| pp->pr_npagefree++; |
pp->pr_npagefree++; |
| |
|
| if ((pp->pr_roflags & PR_PHINPAGE) == 0) { |
if ((pp->pr_roflags & PR_PHINPAGE) == 0) { |
| |
int s; |
| LIST_REMOVE(ph, ph_hashlist); |
LIST_REMOVE(ph, ph_hashlist); |
| |
s = splhigh(); |
| pool_put(&phpool, ph); |
pool_put(&phpool, ph); |
| |
splx(s); |
| } |
} |
| |
|
| if (pp->pr_curpage == ph) { |
if (pp->pr_curpage == ph) { |
| Line 995 pool_prime_page(pp, storage) |
|
| Line 998 pool_prime_page(pp, storage) |
|
| caddr_t cp = storage; |
caddr_t cp = storage; |
| unsigned int align = pp->pr_align; |
unsigned int align = pp->pr_align; |
| unsigned int ioff = pp->pr_itemoffset; |
unsigned int ioff = pp->pr_itemoffset; |
| int n; |
int s, n; |
| |
|
| if ((pp->pr_roflags & PR_PHINPAGE) != 0) { |
if ((pp->pr_roflags & PR_PHINPAGE) != 0) { |
| ph = (struct pool_item_header *)(cp + pp->pr_phoffset); |
ph = (struct pool_item_header *)(cp + pp->pr_phoffset); |
| } else { |
} else { |
| |
s = splhigh(); |
| ph = pool_get(&phpool, PR_URGENT); |
ph = pool_get(&phpool, PR_URGENT); |
| |
splx(s); |
| LIST_INSERT_HEAD(&pp->pr_hashtab[PR_HASH_INDEX(pp, cp)], |
LIST_INSERT_HEAD(&pp->pr_hashtab[PR_HASH_INDEX(pp, cp)], |
| ph, ph_hashlist); |
ph, ph_hashlist); |
| } |
} |