Linux内核中kzalloc分配内存时用的参数GFP_KERNEL详解
简介GFP(Get Free Pages缩写)在include/linux/gfp.h中定义。GFP_KERNEL是内核内存分配时最常用的,无内存可用时可引起休眠。GFP_ATOMIC用来从中断处理和进程上下文之外的其他代码中分配内存,从不睡眠。GFP_KERNEL内核内存的正常分配,可能睡眠。GFP_USER用来为用户空间页来分配内存,它可能睡眠。GFP_HIGHUSER如同 GFP_USER,
·
简介
GFP(Get Free Pages缩写)在include/linux/gfp.h中定义。
GFP_KERNEL
是内核内存分配时最常用的,无内存可用时可引起休眠。
GFP_ATOMIC
用来从中断处理和进程上下文之外的其他代码中分配内存,从不睡眠。
GFP_USER
用来为用户空间页来分配内存,它可能睡眠。
GFP_HIGHUSER
如同 GFP_USER, 但是从高端内存分配, 如果有, 高端内存在下一个子节描述.
GFP_NOIO
根本不允许任何 I/O 初始化。
GFP_NOFS
这个标志功能如同 GFP_KERNEL, 但是它们增加限制到内核能做的来满足请求。一个 GFP_NOFS 分配不允许进行任何文件系统调用,而 GFP_NOIO 根本不允许任何 I/O 初始化。它们主要地用在文件系统和虚拟内存代码,那里允许一个分配睡眠,但是递归的文件系统调用会是一个坏主意。
更多推荐
已为社区贡献7条内容
所有评论(0)