1 2#include <linux/slab.h> 3 4typedef void *(mempool_alloc_t)(int gfp_mask, void *pool_data); 5typedef void (mempool_free_t)(void *element, void *pool_data); 6 7typedef struct { 8 mempool_alloc_t *alloc; 9 mempool_free_t *free; 10 void *data; 11} mempool_t; 12 13void *mempool_alloc(mempool_t *pool, int gfp_mask); 14void mempool_free(void *element, mempool_t *pool); 15mempool_t *mempool_create(int min_nr, mempool_alloc_t *alloc_fn, 16 mempool_free_t *free_fn, void *pool_data); 17