vma_flags VM_IO
和 VM_RESERVED
之间有什么区别?应该如何使用它们?
Linux内核源码中的注释很困惑
http://lxr.free-electrons.com/source/include/linux/mm.h?v=3.4;a=arm#L104
http://lxr.free-electrons.com/source/include/linux/mm.h?v=3.4;a=arm#L96
#define VM_IO 0x00004000 /* Memory mapped I/O or similar */
#define VM_RESERVED 0x00080000 /* Count as reserved_vm like IO */
谢谢
最佳答案
来自:http://www.makelinux.net/ldd3/chp-15-sect-1
“VM_IO
将 VMA 标记为内存映射 I/O 区域。除其他外,VM_IO 标志可防止该区域包含在进程核心转储中。
VM_RESERVED
告诉内存管理系统不要尝试换出此VMA;它应该在大多数设备映射中设置。”
为了更好地了解这些演变的方式和原因以及 Linux 内核社区的建议是什么,请阅读以下 lwn 文章:
http://lwn.net/Articles/161204/
http://lwn.net/Articles/162860/
更新:
VM_RESERVED
标志已停止使用。请参阅 Linus 的 patch
关于linux-kernel - VM_IO 和 VM_RESERVED 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22316289/