一:内存池
#include<linux/mempool.h>
mempool_t *mempool_create(int min_nr, mempool_alloc_t *alloc_fn,
mempool_free_t *free_fn, void *data);
void mempool_destroy(mempool_t *pool);
void *mempool_alloc(mempool_t *pool, int gfp_mask);
void mempool_free(void *element, mempool_t *pool);
二:页分配
unsigned long get_zeroed_page(int flags);
unsigned long __get_free_page(int flags);
unsigned long __get_free_pages(int flags, unsigned long order);
int get_order(unsigned long size);
void free_page(unsigned long addr);
void free_pages(unsigned long addr, unsigned long order);
struct page *alloc_pages_node(int nid)