kfifo_alloc - allocates a new FIFO and its internal buffer
struct kfifo * kfifo_alloc (unsigned int size, gfp_t gfp_mask, spinlock_t * lock);
size the size of the internal buffer to be allocated. gfp_mask get_free_pages mask, passed to kmalloc lock the lock to be used to protect the fifo buffer
The size will be rounded-up to a power of 2.