vma_flags VM_IO
和VM_RESERVED
的区别是什么?它们应该如何使用?
linux内核源代码中的注释非常令人困惑
http://lxr.free-electrons.com/source/include/linux/mm.h?v=3.4;手臂= # L104
http://lxr.free-electrons.com/source/include/linux/mm.h?v=3.4;手臂= # L96
#define VM_IO 0x00004000 /* Memory mapped I/O or similar */
#define VM_RESERVED 0x00080000 /* Count as reserved_vm like IO */
谢谢
From: http://www.makelinux.net/ldd3/chp-15-sect-1
" VM_IO
将VMA标记为内存映射I/O区域。除此之外,VM_IO标志可以防止该区域被包含在进程核心转储中。VM_RESERVED
告诉内存管理系统不要尝试换出这个VMA;它应该在大多数设备映射中设置。"
要更好地理解这些是如何以及为什么发展的,以及linux内核社区的建议是什么,请阅读以下文章:
http://lwn.net/Articles/161204/
http://lwn.net/Articles/162860/
更新:
VM_RESERVED
旗已停用。参见Linus的补丁