相关疑难解决方法(0)

vmalloc和kmalloc有什么区别?

我已经google了一下,发现大多数人都主张使用kmalloc,因为你可以保证获得连续的物理内存块.但是,kmalloc如果找不到您想要的连续物理块,它似乎也会失败.
拥有一块连续的内存块有什么好处?具体来说,为什么我需要在系统调用中拥有连续的物理内存块?我有什么理由不能使用吗? 最后,如果我在处理系统调用期间分配内存,我应该指定吗?系统调用是在原​​子上下文中执行的吗?vmalloc
GFP_ATOMIC

GFP_ATOMIC
分配是高优先级的,不会睡眠.这是在中断处理程序,下半部分和其他无法睡眠的情况下使用的标志.

GFP_KERNEL 这是正常分配,可能会阻止.这是在安全睡眠时在进程上下文代码中使用的标志.

c linux-kernel vmalloc kmalloc

107
推荐指数
5
解决办法
10万
查看次数

标签 统计

c ×1

kmalloc ×1

linux-kernel ×1

vmalloc ×1