On Thu 04-02-16 15:07:46, Johannes Weiner wrote: > Rather than scattering mem_cgroup_migrate() calls all over the place, > have a single call from a safe place where every migration operation > eventually ends up in - migrate_page_copy(). This is very nice! > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> > Suggested-by: Hugh Dickins <hughd@xxxxxxxxxx> Sorry for coming so late. Acked-by: Michal Hocko <mhocko@xxxxxxxx> > --- > mm/migrate.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > > diff --git a/mm/migrate.c b/mm/migrate.c > index 17db63b2dd36..90cbf7c65cac 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -331,8 +331,6 @@ int migrate_page_move_mapping(struct address_space *mapping, > if (PageSwapBacked(page)) > SetPageSwapBacked(newpage); > > - mem_cgroup_migrate(page, newpage); > - > return MIGRATEPAGE_SUCCESS; > } > > @@ -428,8 +426,6 @@ int migrate_page_move_mapping(struct address_space *mapping, > } > local_irq_enable(); > > - mem_cgroup_migrate(page, newpage); > - > return MIGRATEPAGE_SUCCESS; > } > > @@ -471,8 +467,6 @@ int migrate_huge_page_move_mapping(struct address_space *mapping, > > spin_unlock_irq(&mapping->tree_lock); > > - mem_cgroup_migrate(page, newpage); > - > return MIGRATEPAGE_SUCCESS; > } > > @@ -586,6 +580,8 @@ void migrate_page_copy(struct page *newpage, struct page *page) > end_page_writeback(newpage); > > copy_page_owner(page, newpage); > + > + mem_cgroup_migrate(page, newpage); > } > > /************************************************************ > @@ -1846,7 +1842,6 @@ fail_putback: > } > > mlock_migrate_page(new_page, page); > - mem_cgroup_migrate(page, new_page); > page_remove_rmap(page, true); > set_page_owner_migrate_reason(new_page, MR_NUMA_MISPLACED); > > -- > 2.7.0 -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>