Linux内核通用队列实现 Kfifo
位置:kernel/kififo.c
位置:kernel/kififo.c
使用需要包含头文件#include <kernel/kififo>
1、创建队列(动态创建)
int kfifo_alloc(struct kififo *fifo , unsigned int size , gfp_t gfp_mask);
该函数会创建并初始化一个大小为size的fifo,内核使用gfp_mask标识分配队列。
成功返回0
ep :
struct kfifo fifo ;
int ret ;
//创建一个大小为PAGE_SIZE的队列,由内核进行内存分配
ret = kfifo_allo(&kifo , PAGE_SIZE , GFP_KERNEL);
if(ret)
return ret ;
自己分配缓冲,可以调用: