Two weeks ago, this page described Andrea Arcangeli's "anon_vma" work in some detail. This work, remember, is an attempt to improve memory scalability in the kernel by eliminating the reverse mapping ("rmap") chains used to find page table entries which reference a given page. The rmap chains can use significant amounts of low memory and can slow down fork() calls, so this work is of interest.
两周前,本页面详细介绍了 Andrea Arcangeli 的 “anon_vma” 工作。请记住,这项工作的目标是通过消除反向映射(“rmap”)链来提升内核的内存扩展性,这些 rmap 链用于查找引用某个页面的页表项。rmap 链可能会占用大量低端内存,并拖慢 fork()
的执行速度,因此这一改进引起了关注。
Andrea has continued pushing the anon_vma effort through a series of kernel tree releases. The latest, 2.6.5-rc2-aa2, solves some of the remaining problems and comes with this statement:
Andrea 通过一系列内核树的发布版本持续推进 anon_vma 的工作。最新的版本是 2.6.5-rc2-aa2,它解决了一些遗留问题,并附带以下声明:
The next target is the merging of the prio_tree, but that will be a separated patch. After that this whole thing should be mergeable into mainline.
下一个目标是合并 prio_tree,但那将是一个独立的补丁。在那之后,这整个机制应该可以合并进主线。
(The prio_tree reference is about Rajesh Venkatasubramanian's priority tree patch which speeds the search for interesting virtual memory areas when a page is mapped a large number of times).
所谓 prio_tree,指的是 Rajesh Venkatasubramanian 提出的优先级树补丁,它加快了在某个页面被大量映射时,查找相关虚拟内存区域的过程。
Andrea's work is proceeding nicely, but it's worth noting that anon_vma is