On Tue, 20 Apr 2010, Mel Gorman wrote: > @@ -520,10 +521,12 @@ static int move_to_new_page(struct page *newpage, struct page *page) > else > rc = fallback_migrate_page(mapping, newpage, page); > > - if (!rc) > - remove_migration_ptes(page, newpage); > - else > + if (rc) { > newpage->mapping = NULL; > + } else { > + if (remap_swapcache) > + remove_migration_ptes(page, newpage); > + } You are going to keep the migration ptes after the page has been unlocked? Or is remap_swapcache true if its not a swapcache page? Maybe you meant if (!remap_swapcache) ? > unlock_page(newpage); > > > skip_unmap: > if (!page_mapped(page)) > - rc = move_to_new_page(newpage, page); > + rc = move_to_new_page(newpage, page, remap_swapcache); > > - if (rc) > + if (rc && remap_swapcache) > remove_migration_ptes(page, page); > rcu_unlock: > Looks like you meant !remap_swapcache -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>