diff options
author | Christoph Lameter <clameter@sgi.com> | 2006-06-25 05:46:49 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-25 10:00:55 -0700 |
commit | e6a1530d692d6a60cdf15dfbcfea07f5324d7b9f (patch) | |
tree | bb34a4d745eb7f7e8d3de40b171fac17822ee8ac /mm/migrate.c | |
parent | 7b2259b3e53f128c10a9fded0965e69d4a949847 (diff) | |
download | op-kernel-dev-e6a1530d692d6a60cdf15dfbcfea07f5324d7b9f.zip op-kernel-dev-e6a1530d692d6a60cdf15dfbcfea07f5324d7b9f.tar.gz |
[PATCH] Allow migration of mlocked pages
Hugh clarified the role of VM_LOCKED. So we can now implement page
migration for mlocked pages.
Allow the migration of mlocked pages. This means that try_to_unmap must
unmap mlocked pages in the migration case.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Acked-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/migrate.c')
-rw-r--r-- | mm/migrate.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/mm/migrate.c b/mm/migrate.c index 0576c05..3f1e0c2 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -616,15 +616,13 @@ static int unmap_and_move(new_page_t get_new_page, unsigned long private, /* * Establish migration ptes or remove ptes */ - if (try_to_unmap(page, 1) != SWAP_FAIL) { - if (!page_mapped(page)) - rc = move_to_new_page(newpage, page); - } else - /* A vma has VM_LOCKED set -> permanent failure */ - rc = -EPERM; + try_to_unmap(page, 1); + if (!page_mapped(page)) + rc = move_to_new_page(newpage, page); if (rc) remove_migration_ptes(page, page); + unlock: unlock_page(page); |