为什么物理上连续的内存区域比几乎连续的内存更有效。

时间:2014-07-23 11:40:24

标签: memory-management linux-kernel kmalloc vmalloc

据说,物理上连续的内存区域比几乎连续的内存更有效,因为Robert Love的书中说内核不需要为物理上连续的内存设置页表条目。 / p>

但是在所有情况下内核都不需要页表吗?那么在虚拟连续内存的情况下,它需要创建哪些页表条目。

2 个答案:

答案 0 :(得分:2)

对于大块物理连续内存,内核可以使用huge pages,即页表条目少得多。

答案 1 :(得分:0)

几乎连续(vmalloc()和朋友)意味着内核基于通过连续线性地址访问的非连续页面帧来分配内存。缺点是性能不佳,因为需要额外的页表。您可能想要浏览数据结构vmap_area and vm_struct