mempool.c (df9b42963f2d010ae3163a894ce22cf6b27cd344) | mempool.c (7b5219db00d0afaf3d2b0e8c443ffa892455ba75) |
---|---|
1/* 2 * linux/mm/mempool.c 3 * 4 * memory buffer pool support. Such pools are mostly used 5 * for guaranteed, deadlock-free memory allocations during 6 * extreme VM load. 7 * 8 * started by Ingo Molnar, Copyright (C) 2001 --- 59 unchanged lines hidden (view full) --- 68} 69EXPORT_SYMBOL(mempool_create); 70 71mempool_t *mempool_create_node(int min_nr, mempool_alloc_t *alloc_fn, 72 mempool_free_t *free_fn, void *pool_data, 73 gfp_t gfp_mask, int node_id) 74{ 75 mempool_t *pool; | 1/* 2 * linux/mm/mempool.c 3 * 4 * memory buffer pool support. Such pools are mostly used 5 * for guaranteed, deadlock-free memory allocations during 6 * extreme VM load. 7 * 8 * started by Ingo Molnar, Copyright (C) 2001 --- 59 unchanged lines hidden (view full) --- 68} 69EXPORT_SYMBOL(mempool_create); 70 71mempool_t *mempool_create_node(int min_nr, mempool_alloc_t *alloc_fn, 72 mempool_free_t *free_fn, void *pool_data, 73 gfp_t gfp_mask, int node_id) 74{ 75 mempool_t *pool; |
76 pool = kmalloc_node(sizeof(*pool), gfp_mask | __GFP_ZERO, node_id); | 76 pool = kzalloc_node(sizeof(*pool), gfp_mask, node_id); |
77 if (!pool) 78 return NULL; 79 pool->elements = kmalloc_node(min_nr * sizeof(void *), 80 gfp_mask, node_id); 81 if (!pool->elements) { 82 kfree(pool); 83 return NULL; 84 } --- 287 unchanged lines hidden --- | 77 if (!pool) 78 return NULL; 79 pool->elements = kmalloc_node(min_nr * sizeof(void *), 80 gfp_mask, node_id); 81 if (!pool->elements) { 82 kfree(pool); 83 return NULL; 84 } --- 287 unchanged lines hidden --- |