]> Git Repo - linux.git/commit
mm: reduce rmap overhead for ex-KSM page copies created on swap faults
authorJohannes Weiner <[email protected]>
Sat, 23 Feb 2013 00:32:20 +0000 (16:32 -0800)
committerLinus Torvalds <[email protected]>
Sun, 24 Feb 2013 01:50:09 +0000 (17:50 -0800)
commitaf34770e55fd899c96d8d73bdc04dbc956096650
tree91c9bfc79d765a7919412a2ab73a164c96d05706
parent9b4f98cdac9683ee9cdb28c582a81223f0c10a3f
mm: reduce rmap overhead for ex-KSM page copies created on swap faults

When ex-KSM pages are faulted from swap cache, the fault handler is not
capable of re-establishing anon_vma-spanning KSM pages.  In this case, a
copy of the page is created instead, just like during a COW break.

These freshly made copies are known to be exclusive to the faulting VMA
and there is no reason to go look for this page in parent and sibling
processes during rmap operations.

Use page_add_new_anon_rmap() for these copies.  This also puts them on
the proper LRU lists and marks them SwapBacked, so we can get rid of
doing this ad-hoc in the KSM copy code.

Signed-off-by: Johannes Weiner <[email protected]>
Reviewed-by: Rik van Riel <[email protected]>
Acked-by: Hugh Dickins <[email protected]>
Cc: Simon Jeons <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Satoru Moriya <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/ksm.c
mm/memory.c
This page took 0.047917 seconds and 4 git commands to generate.