diff options
author | Christoph Lameter <clameter@sgi.com> | 2006-02-01 06:05:39 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-01 11:53:16 -0500 |
commit | a3351e525e4768c29aa5d22ef59b5b38e0361e53 (patch) | |
tree | 457ab54f402b471c5158e8b361d059e88ab8cd62 /include/linux | |
parent | a48d07afdf18212de22b959715b16793c5a6e57a (diff) |
[PATCH] Direct Migration V9: remove_from_swap() to remove swap ptes
Add remove_from_swap
remove_from_swap() allows the restoration of the pte entries that existed
before page migration occurred for anonymous pages by walking the reverse
maps. This reduces swap use and establishes regular pte's without the need
for page faults.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/rmap.h | 1 | ||||
-rw-r--r-- | include/linux/swap.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/rmap.h b/include/linux/rmap.h index 0f1ea2d6ed86..d6b9bcd1384c 100644 --- a/include/linux/rmap.h +++ b/include/linux/rmap.h | |||
@@ -92,6 +92,7 @@ static inline void page_dup_rmap(struct page *page) | |||
92 | */ | 92 | */ |
93 | int page_referenced(struct page *, int is_locked); | 93 | int page_referenced(struct page *, int is_locked); |
94 | int try_to_unmap(struct page *, int ignore_refs); | 94 | int try_to_unmap(struct page *, int ignore_refs); |
95 | void remove_from_swap(struct page *page); | ||
95 | 96 | ||
96 | /* | 97 | /* |
97 | * Called from mm/filemap_xip.c to unmap empty zero page | 98 | * Called from mm/filemap_xip.c to unmap empty zero page |
diff --git a/include/linux/swap.h b/include/linux/swap.h index d359fc022433..229b6d04b4b6 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h | |||
@@ -248,6 +248,7 @@ extern int remove_exclusive_swap_page(struct page *); | |||
248 | struct backing_dev_info; | 248 | struct backing_dev_info; |
249 | 249 | ||
250 | extern spinlock_t swap_lock; | 250 | extern spinlock_t swap_lock; |
251 | extern int remove_vma_swap(struct vm_area_struct *vma, struct page *page); | ||
251 | 252 | ||
252 | /* linux/mm/thrash.c */ | 253 | /* linux/mm/thrash.c */ |
253 | extern struct mm_struct * swap_token_mm; | 254 | extern struct mm_struct * swap_token_mm; |