diff options
author | Matthew Dobson <colpatch@us.ibm.com> | 2006-03-26 04:37:49 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-26 11:57:00 -0500 |
commit | fec433aaaae32a02329ad7d71b0f3c91b7525077 (patch) | |
tree | cb8b700fa5c0e4ae51545bf2fbcaa37fc6bd6392 /include/linux/mempool.h | |
parent | 26b6e051bc36b968a0b5ac96903b99e050d20b87 (diff) |
[PATCH] mempool: add mempool_create_slab_pool()
Create a simple wrapper function for the common case of creating a slab-based
mempool.
Signed-off-by: Matthew Dobson <colpatch@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/mempool.h')
-rw-r--r-- | include/linux/mempool.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/mempool.h b/include/linux/mempool.h index 41570ce353eb..9be484d11283 100644 --- a/include/linux/mempool.h +++ b/include/linux/mempool.h | |||
@@ -6,6 +6,8 @@ | |||
6 | 6 | ||
7 | #include <linux/wait.h> | 7 | #include <linux/wait.h> |
8 | 8 | ||
9 | struct kmem_cache; | ||
10 | |||
9 | typedef void * (mempool_alloc_t)(gfp_t gfp_mask, void *pool_data); | 11 | typedef void * (mempool_alloc_t)(gfp_t gfp_mask, void *pool_data); |
10 | typedef void (mempool_free_t)(void *element, void *pool_data); | 12 | typedef void (mempool_free_t)(void *element, void *pool_data); |
11 | 13 | ||
@@ -37,6 +39,12 @@ extern void mempool_free(void *element, mempool_t *pool); | |||
37 | */ | 39 | */ |
38 | void *mempool_alloc_slab(gfp_t gfp_mask, void *pool_data); | 40 | void *mempool_alloc_slab(gfp_t gfp_mask, void *pool_data); |
39 | void mempool_free_slab(void *element, void *pool_data); | 41 | void mempool_free_slab(void *element, void *pool_data); |
42 | static inline mempool_t * | ||
43 | mempool_create_slab_pool(int min_nr, struct kmem_cache *kc) | ||
44 | { | ||
45 | return mempool_create(min_nr, mempool_alloc_slab, mempool_free_slab, | ||
46 | (void *) kc); | ||
47 | } | ||
40 | 48 | ||
41 | /* | 49 | /* |
42 | * 2 mempool_alloc_t's and a mempool_free_t to kmalloc/kzalloc and kfree | 50 | * 2 mempool_alloc_t's and a mempool_free_t to kmalloc/kzalloc and kfree |