diff options
Diffstat (limited to 'mm/migrate.c')
-rw-r--r-- | mm/migrate.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/mm/migrate.c b/mm/migrate.c index a2e9cad083d5..8dd685be20d8 100644 --- a/mm/migrate.c +++ b/mm/migrate.c | |||
@@ -409,7 +409,7 @@ int replicate_page_move_mapping(struct address_space *mapping, | |||
409 | void **pslot; | 409 | void **pslot; |
410 | 410 | ||
411 | BUG_ON(!mapping); | 411 | BUG_ON(!mapping); |
412 | TRACE_TASK(current, "page has mapping.\n"); | 412 | |
413 | spin_lock_irq(&mapping->tree_lock); | 413 | spin_lock_irq(&mapping->tree_lock); |
414 | 414 | ||
415 | pslot = radix_tree_lookup_slot(&mapping->page_tree, page_index(page)); | 415 | pslot = radix_tree_lookup_slot(&mapping->page_tree, page_index(page)); |
@@ -933,7 +933,8 @@ static int copy_to_new_page(struct page *newpage, struct page *page, | |||
933 | 933 | ||
934 | mapping = page_mapping(page); | 934 | mapping = page_mapping(page); |
935 | if (!mapping) { | 935 | if (!mapping) { |
936 | rc = migrate_page(mapping, newpage, page, mode); | 936 | /* a shared library page must have a mapping. */ |
937 | BUG(); | ||
937 | } | 938 | } |
938 | else if (mapping->a_ops->migratepage) { | 939 | else if (mapping->a_ops->migratepage) { |
939 | rc = replicate_page(mapping, newpage, page, mode, has_replica); | 940 | rc = replicate_page(mapping, newpage, page, mode, has_replica); |
@@ -1296,10 +1297,7 @@ static ICE_noinline int unmap_and_copy(new_page_t get_new_page, | |||
1296 | } | 1297 | } |
1297 | } | 1298 | } |
1298 | rcu_read_unlock(); | 1299 | rcu_read_unlock(); |
1299 | 1300 | ||
1300 | if (master_exist_in_psl) | ||
1301 | TRACE_TASK(current, "Page %05lx exists in PSL list\n", lib_page->master_pfn); | ||
1302 | |||
1303 | if (lib_page->r_page[cpu] == NULL) { | 1301 | if (lib_page->r_page[cpu] == NULL) { |
1304 | newpage = get_new_page(page, private, &result); | 1302 | newpage = get_new_page(page, private, &result); |
1305 | if (!newpage) | 1303 | if (!newpage) |
@@ -1588,9 +1586,7 @@ int replicate_pages(struct list_head *from, new_page_t get_new_page, | |||
1588 | list_for_each_entry_safe(page, page2, from, lru) { | 1586 | list_for_each_entry_safe(page, page2, from, lru) { |
1589 | cond_resched(); | 1587 | cond_resched(); |
1590 | 1588 | ||
1591 | TRACE_TASK(current, "PageAnon=%d\n", PageAnon(page)); | ||
1592 | rc = unmap_and_copy(get_new_page, put_new_page, private, page, pass > 2, mode); | 1589 | rc = unmap_and_copy(get_new_page, put_new_page, private, page, pass > 2, mode); |
1593 | TRACE_TASK(current, "rc = %d\n", rc); | ||
1594 | 1590 | ||
1595 | switch(rc) { | 1591 | switch(rc) { |
1596 | case -ENOMEM: | 1592 | case -ENOMEM: |