| version 1.131, 2007/08/18 00:37:14 |
version 1.131.2.1, 2007/11/06 23:32:15 |
| Line 1166 pool_do_put(struct pool *pp, void *v, st |
|
| Line 1166 pool_do_put(struct pool *pp, void *v, st |
|
| panic("pool_put: %s: page header missing", pp->pr_wchan); |
panic("pool_put: %s: page header missing", pp->pr_wchan); |
| } |
} |
| |
|
| #ifdef LOCKDEBUG |
|
| /* |
|
| * Check if we're freeing a locked simple lock. |
|
| */ |
|
| simple_lock_freecheck(pi, (char *)pi + pp->pr_size); |
|
| #endif |
|
| |
|
| /* |
/* |
| * Return to item list. |
* Return to item list. |
| */ |
*/ |
| Line 2360 pool_allocator_alloc(struct pool *pp, in |
|
| Line 2353 pool_allocator_alloc(struct pool *pp, in |
|
| struct pool_allocator *pa = pp->pr_alloc; |
struct pool_allocator *pa = pp->pr_alloc; |
| void *res; |
void *res; |
| |
|
| LOCK_ASSERT(!simple_lock_held(&pp->pr_slock)); |
|
| |
|
| res = (*pa->pa_alloc)(pp, flags); |
res = (*pa->pa_alloc)(pp, flags); |
| if (res == NULL && (flags & PR_WAITOK) == 0) { |
if (res == NULL && (flags & PR_WAITOK) == 0) { |
| /* |
/* |
| Line 2382 pool_allocator_free(struct pool *pp, voi |
|
| Line 2373 pool_allocator_free(struct pool *pp, voi |
|
| { |
{ |
| struct pool_allocator *pa = pp->pr_alloc; |
struct pool_allocator *pa = pp->pr_alloc; |
| |
|
| LOCK_ASSERT(!simple_lock_held(&pp->pr_slock)); |
|
| |
|
| (*pa->pa_free)(pp, v); |
(*pa->pa_free)(pp, v); |
| } |
} |
| |
|