| version 1.193, 2012/01/29 20:20:18 |
version 1.194, 2012/02/04 22:11:42 |
| Line 2730 struct pool_allocator pool_allocator_kme |
|
| Line 2730 struct pool_allocator pool_allocator_kme |
|
| }; |
}; |
| #endif |
#endif |
| |
|
| void *pool_page_alloc_nointr(struct pool *, int); |
|
| void pool_page_free_nointr(struct pool *, void *); |
|
| |
|
| #ifdef POOL_SUBPAGE |
#ifdef POOL_SUBPAGE |
| struct pool_allocator pool_allocator_nointr_fullpage = { |
struct pool_allocator pool_allocator_nointr_fullpage = { |
| .pa_alloc = pool_page_alloc_nointr, |
.pa_alloc = pool_page_alloc, |
| .pa_free = pool_page_free_nointr, |
.pa_free = pool_page_free, |
| .pa_pagesz = 0 |
.pa_pagesz = 0 |
| }; |
}; |
| #else |
#else |
| Line 2757 struct pool_allocator pool_allocator_kme |
|
| Line 2754 struct pool_allocator pool_allocator_kme |
|
| .pa_pagesz = POOL_SUBPAGE |
.pa_pagesz = POOL_SUBPAGE |
| }; |
}; |
| |
|
| void *pool_subpage_alloc_nointr(struct pool *, int); |
|
| void pool_subpage_free_nointr(struct pool *, void *); |
|
| |
|
| struct pool_allocator pool_allocator_nointr = { |
struct pool_allocator pool_allocator_nointr = { |
| .pa_alloc = pool_subpage_alloc, |
.pa_alloc = pool_subpage_alloc, |
| .pa_free = pool_subpage_free, |
.pa_free = pool_subpage_free, |
| Line 2850 pool_subpage_free(struct pool *pp, void |
|
| Line 2844 pool_subpage_free(struct pool *pp, void |
|
| pool_put(&psppool, v); |
pool_put(&psppool, v); |
| } |
} |
| |
|
| /* We don't provide a real nointr allocator. Maybe later. */ |
|
| void * |
|
| pool_subpage_alloc_nointr(struct pool *pp, int flags) |
|
| { |
|
| |
|
| return (pool_subpage_alloc(pp, flags)); |
|
| } |
|
| |
|
| void |
|
| pool_subpage_free_nointr(struct pool *pp, void *v) |
|
| { |
|
| |
|
| pool_subpage_free(pp, v); |
|
| } |
|
| #endif /* POOL_SUBPAGE */ |
#endif /* POOL_SUBPAGE */ |
| |
|
| #if defined(DDB) |
#if defined(DDB) |