diff options
Diffstat (limited to 'mm/mempool.c')
-rw-r--r-- | mm/mempool.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/mm/mempool.c b/mm/mempool.c index c9f3d4620428..920c8c3ab1b8 100644 --- a/mm/mempool.c +++ b/mm/mempool.c | |||
@@ -51,16 +51,23 @@ static void free_pool(mempool_t *pool) | |||
51 | * functions might sleep - as long as the mempool_alloc function is not called | 51 | * functions might sleep - as long as the mempool_alloc function is not called |
52 | * from IRQ contexts. | 52 | * from IRQ contexts. |
53 | */ | 53 | */ |
54 | mempool_t * mempool_create(int min_nr, mempool_alloc_t *alloc_fn, | 54 | mempool_t *mempool_create(int min_nr, mempool_alloc_t *alloc_fn, |
55 | mempool_free_t *free_fn, void *pool_data) | 55 | mempool_free_t *free_fn, void *pool_data) |
56 | { | 56 | { |
57 | mempool_t *pool; | 57 | return mempool_create_node(min_nr,alloc_fn,free_fn, pool_data,-1); |
58 | } | ||
59 | EXPORT_SYMBOL(mempool_create); | ||
58 | 60 | ||
59 | pool = kmalloc(sizeof(*pool), GFP_KERNEL); | 61 | mempool_t *mempool_create_node(int min_nr, mempool_alloc_t *alloc_fn, |
62 | mempool_free_t *free_fn, void *pool_data, int node_id) | ||
63 | { | ||
64 | mempool_t *pool; | ||
65 | pool = kmalloc_node(sizeof(*pool), GFP_KERNEL, node_id); | ||
60 | if (!pool) | 66 | if (!pool) |
61 | return NULL; | 67 | return NULL; |
62 | memset(pool, 0, sizeof(*pool)); | 68 | memset(pool, 0, sizeof(*pool)); |
63 | pool->elements = kmalloc(min_nr * sizeof(void *), GFP_KERNEL); | 69 | pool->elements = kmalloc_node(min_nr * sizeof(void *), |
70 | GFP_KERNEL, node_id); | ||
64 | if (!pool->elements) { | 71 | if (!pool->elements) { |
65 | kfree(pool); | 72 | kfree(pool); |
66 | return NULL; | 73 | return NULL; |
@@ -87,7 +94,7 @@ mempool_t * mempool_create(int min_nr, mempool_alloc_t *alloc_fn, | |||
87 | } | 94 | } |
88 | return pool; | 95 | return pool; |
89 | } | 96 | } |
90 | EXPORT_SYMBOL(mempool_create); | 97 | EXPORT_SYMBOL(mempool_create_node); |
91 | 98 | ||
92 | /** | 99 | /** |
93 | * mempool_resize - resize an existing memory pool | 100 | * mempool_resize - resize an existing memory pool |