/* Create a new special memory pool that can be used to manage special purpose memory not managed by the regular kmalloc/kfree interface.  */
struct gen_pool* gen_pool_create(int min_alloc_order, int nid)
/* Create a new special memory pool that can be used to manage special purpose memory not managed by the regular kmalloc/kfree interface.  */
struct gen_pool* gen_pool_create(int min_alloc_order, int nid)
{
	struct gen_pool *pool;
	pool = kmalloc_node(sizeof(struct gen_pool), GFP_KERNEL, nid);
	if (pool != NULL) {
		rwlock_init(&pool->lock);
		INIT_LIST_HEAD(&pool->chunks);
		pool->min_alloc_order = min_alloc_order;
	}
	return pool;
}