Commit 442c9137 authored by Christoph Lameter's avatar Christoph Lameter Committed by Linus Torvalds

[PATCH] More page migration: do not inc/dec rss counters

If we install a migration entry then the rss not really decreases since the
page is just moved somewhere else.  We can save ourselves the work of
decrementing and later incrementing which will just eventually cause cacheline
bouncing.
Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 6c5240ae
...@@ -164,7 +164,6 @@ static void remove_migration_pte(struct vm_area_struct *vma, unsigned long addr, ...@@ -164,7 +164,6 @@ static void remove_migration_pte(struct vm_area_struct *vma, unsigned long addr,
if (!is_migration_entry(entry) || migration_entry_to_page(entry) != old) if (!is_migration_entry(entry) || migration_entry_to_page(entry) != old)
goto out; goto out;
inc_mm_counter(mm, anon_rss);
get_page(new); get_page(new);
pte = pte_mkold(mk_pte(new, vma->vm_page_prot)); pte = pte_mkold(mk_pte(new, vma->vm_page_prot));
if (is_write_migration_entry(entry)) if (is_write_migration_entry(entry))
......
...@@ -595,6 +595,7 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma, ...@@ -595,6 +595,7 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma,
list_add(&mm->mmlist, &init_mm.mmlist); list_add(&mm->mmlist, &init_mm.mmlist);
spin_unlock(&mmlist_lock); spin_unlock(&mmlist_lock);
} }
dec_mm_counter(mm, anon_rss);
} else { } else {
/* /*
* Store the pfn of the page in a special migration * Store the pfn of the page in a special migration
...@@ -606,7 +607,6 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma, ...@@ -606,7 +607,6 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma,
} }
set_pte_at(mm, address, pte, swp_entry_to_pte(entry)); set_pte_at(mm, address, pte, swp_entry_to_pte(entry));
BUG_ON(pte_file(*pte)); BUG_ON(pte_file(*pte));
dec_mm_counter(mm, anon_rss);
} else } else
dec_mm_counter(mm, file_rss); dec_mm_counter(mm, file_rss);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment