version 1.21.2.4, 1999/06/25 00:08:22 |
version 1.24, 1999/04/29 17:47:19 |
|
|
* POSSIBILITY OF SUCH DAMAGE. |
* POSSIBILITY OF SUCH DAMAGE. |
*/ |
*/ |
|
|
|
#include "opt_poollog.h" |
|
|
#include <sys/param.h> |
#include <sys/param.h> |
#include <sys/systm.h> |
#include <sys/systm.h> |
#include <sys/proc.h> |
#include <sys/proc.h> |
Line 258 pr_rmpage(pp, ph) |
|
Line 260 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 936 pool_prime_page(pp, storage) |
|
Line 935 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 s, n; |
int 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); |
} |
} |