mempool_create — create a memory pool


mempool_t * mempool_create (int min_nr,
 mempool_alloc_t * alloc_fn,
 mempool_free_t * free_fn,
 void * pool_data);


int min_nr

the minimum number of elements guaranteed to be allocated for this pool.

mempool_alloc_t * alloc_fn

user-defined element-allocation function.

mempool_free_t * free_fn

user-defined element-freeing function.

void * pool_data

optional private data available to the user-defined functions.


this function creates and allocates a guaranteed size, preallocated memory pool. The pool can be used from the mempool_alloc and mempool_free functions. This function might sleep. Both the alloc_fn and the free_fn functions might sleep - as long as the mempool_alloc function is not called from IRQ contexts.