【发布时间】:2021-10-13 23:38:35
【问题描述】:
vm_pgoff 在 Linux 内核的“匿名”映射 (vm_area_struct) 中是否有目的?
对于文件映射,这很明显,但在匿名映射中,似乎在所有情况下都只是vm_start >> PAGE_SHIFT。这是真的吗?有人可以解释或指出正确的方向吗?
谢谢!
【问题讨论】:
-
我想你的意思是
vm_pgoff。大概设置为vm_start >> PAGE_SHIFT,让内核代码更方便。 -
看起来是这样,但我正在处理的是,当映射被移动(使用
mremap重新映射)时,这会导致问题。偏移量不匹配且映射无法合并,这会导致不必要的碎片化,尤其是如果vm_pgoff无论如何都不用于匿名映射。
标签: c linux-kernel mmap