summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRik van Riel <riel@redhat.com>2010-08-09 17:19:48 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-08-09 20:45:02 -0700
commitad8c2ee801ad7a52d919b478d9b2c7b39a72d295 (patch)
treebc56cc023da3467447b0aecd30c0516881d53992 /include
parent51b1bd2ace1595b72956224deda349efa880b693 (diff)
downloadlinux-ad8c2ee801ad7a52d919b478d9b2c7b39a72d295.tar.bz2
rmap: add exclusive page to private anon_vma on swapin
On swapin it is fairly common for a page to be owned exclusively by one process. In that case we want to add the page to the anon_vma of that process's VMA, instead of to the root anon_vma. This will reduce the amount of rmap searching that the swapout code needs to do. Signed-off-by: Rik van Riel <riel@redhat.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/rmap.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/rmap.h b/include/linux/rmap.h
index dc9b3c0bf5d4..d6661de56f30 100644
--- a/include/linux/rmap.h
+++ b/include/linux/rmap.h
@@ -162,6 +162,8 @@ static inline void anon_vma_merge(struct vm_area_struct *vma,
*/
void page_move_anon_rmap(struct page *, struct vm_area_struct *, unsigned long);
void page_add_anon_rmap(struct page *, struct vm_area_struct *, unsigned long);
+void do_page_add_anon_rmap(struct page *, struct vm_area_struct *,
+ unsigned long, int);
void page_add_new_anon_rmap(struct page *, struct vm_area_struct *, unsigned long);
void page_add_file_rmap(struct page *);
void page_remove_rmap(struct page *);