2015-07-27 ì¤í 10:58ì Vlastimil Babka ì´(ê°) ì´ ê¸: > On 07/13/2015 10:35 AM, Gioh Kim wrote: >> From: Gioh Kim <gurugio at hanmail.net> >> >> Migration is completely generalized so that migrating mobile page >> is processed with lru-pages in move_to_new_page. >> >> Signed-off-by: Gioh Kim <gioh.kim at lge.com> >> Acked-by: Rafael Aquini <aquini at redhat.com> > > Why not just fold this to Patch 3? You already modify this hunk there, and > prior to patch 3, the hunk was balloon-pages specific. You made it look > generic only to remove it, which is unneeded code churn and I don't think it > adds anything wrt e.g. bisectability. Yes, you have a point. I'll be merged into 3/4 at next spin.
I wanted to show the process how migration is generalized with this patch. On second thought it is not necessary. > >> --- >> mm/migrate.c | 15 --------------- >> 1 file changed, 15 deletions(-) >> >> diff --git a/mm/migrate.c b/mm/migrate.c >> index 53f0081d..e6644ac 100644 >> --- a/mm/migrate.c >> +++ b/mm/migrate.c >> @@ -844,21 +844,6 @@ static int __unmap_and_move(struct page *page, struct >> page *newpage, >> } >> } >> >> - if (unlikely(mobile_page(page))) { >> - /* >> - * A mobile page does not need any special attention from >> - * physical to virtual reverse mapping procedures. >> - * Skip any attempt to unmap PTEs or to remap swap cache, >> - * in order to avoid burning cycles at rmap level, and perform >> - * the page migration right away (proteced by page lock). >> - */ >> - lock_page(newpage); >> - rc = page->mapping->a_ops->migratepage(page->mapping, >> - newpage, page, mode); >> - unlock_page(newpage); >> - goto out_unlock; >> - } >> - >> /* >> * Corner case handling: >> * 1. When a new swap-cache page is read into, it is added to the LRU >> > >