Linux驱动开发6——内存分配

1、kmalloc和kfree

#include <linux/slab.h>

void *kmalloc(size_t size, int flags);
flag:
GFP_ATOMIC - 用来从中断处理和进程上下文之外的其他代码中分配内存,从不睡眠
GFP_KERNEL - 内核内存的正常分配,可以睡眠,物理地址上连续,内部调用__get_free_pages
GFP_USER - 用来为用户空间页分配内存,可以睡眠
GFP_HIGHUSER - 通GFP_USER,但是从高端内存分配

void kfree(const void *objp);

2、后备缓存

猜你喜欢

转载自www.cnblogs.com/justin-y-lin/p/10692666.html