version 1.6, 1998/08/01 23:44:21 |
version 1.7, 1998/08/02 04:34:46 |
Line 226 pr_rmpage(pp, ph) |
|
Line 226 pr_rmpage(pp, ph) |
|
{ |
{ |
|
|
/* |
/* |
* Unlink a page from the pool and release it. |
* If the page was idle, decrement the idle page count. |
*/ |
*/ |
TAILQ_REMOVE(&pp->pr_pagelist, ph, ph_pagelist); |
|
(*pp->pr_free)(ph->ph_page, pp->pr_pagesz, pp->pr_mtype); |
|
pp->pr_npages--; |
|
pp->pr_npagefree++; |
|
|
|
if (ph->ph_nmissing == 0) { |
if (ph->ph_nmissing == 0) { |
#ifdef DIAGNOSTIC |
#ifdef DIAGNOSTIC |
if (pp->pr_nidle == 0) |
if (pp->pr_nidle == 0) |
Line 241 pr_rmpage(pp, ph) |
|
Line 236 pr_rmpage(pp, ph) |
|
pp->pr_nidle--; |
pp->pr_nidle--; |
} |
} |
|
|
|
/* |
|
* Unlink a page from the pool and release it. |
|
*/ |
|
TAILQ_REMOVE(&pp->pr_pagelist, ph, ph_pagelist); |
|
(*pp->pr_free)(ph->ph_page, pp->pr_pagesz, pp->pr_mtype); |
|
pp->pr_npages--; |
|
pp->pr_npagefree++; |
|
|
if ((pp->pr_flags & PR_PHINPAGE) == 0) { |
if ((pp->pr_flags & PR_PHINPAGE) == 0) { |
LIST_REMOVE(ph, ph_hashlist); |
LIST_REMOVE(ph, ph_hashlist); |
pool_put(&phpool, ph); |
pool_put(&phpool, ph); |