summaryrefslogtreecommitdiffstats
path: root/kernel/stop_machine.c
diff options
context:
space:
mode:
authorAndrea Arcangeli2010-08-10 02:19:09 +0200
committerLinus Torvalds2010-08-10 05:44:58 +0200
commit288468c334e98aacbb7e2fb8bde6bc1adcd55e05 (patch)
treef64cfebd7fedfd4e53fd5d4474048d5475a339b9 /kernel/stop_machine.c
parentksm: fix ksm swapin time optimization (diff)
downloadkernel-qcow2-linux-288468c334e98aacbb7e2fb8bde6bc1adcd55e05.tar.gz
kernel-qcow2-linux-288468c334e98aacbb7e2fb8bde6bc1adcd55e05.tar.xz
kernel-qcow2-linux-288468c334e98aacbb7e2fb8bde6bc1adcd55e05.zip
rmap: always use anon_vma root pointer
Always use anon_vma->root pointer instead of anon_vma_chain.prev. Also optimize the map-paths, if a mapping is already established no need to overwrite it with root anon-vma list, we can keep the more finegrined anon-vma and skip the overwrite: see the PageAnon check in !exclusive case. This is also the optimization that hidden the ksm bug as this tends to make ksm_might_need_to_copy skip the copy, but only the proper fix to ksm_might_need_to_copy guarantees not triggering the ksm bug unless ksm is in use. this is an optimization only... [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Andrea Arcangeli <aarcange@redhat.com> Signed-off-by: Rik van Riel <riel@redhat.com> [kamezawa.hiroyu@jp.fujitsu.com: fix false positive BUG_ON in __page_set_anon_rmap] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/stop_machine.c')
0 files changed, 0 insertions, 0 deletions