mm/page_isolation: clean up confused code
authorJoonsoo Kim <iamjoonsoo.kim@lge.com>
Tue, 26 Jul 2016 22:24:01 +0000 (15:24 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 26 Jul 2016 23:19:19 +0000 (16:19 -0700)
When there is an isolated_page, post_alloc_hook() is called with page
but __free_pages() is called with isolated_page.  Since they are the
same so no problem but it's very confusing.  To reduce it, this patch
changes isolated_page to boolean type and uses page variable
consistently.

Link: http://lkml.kernel.org/r/1466150259-27727-10-git-send-email-iamjoonsoo.kim@lge.com
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/page_isolation.c

index 4639163..064b7fb 100644 (file)
@@ -81,7 +81,7 @@ static void unset_migratetype_isolate(struct page *page, unsigned migratetype)
 {
        struct zone *zone;
        unsigned long flags, nr_pages;
-       struct page *isolated_page = NULL;
+       bool isolated_page = false;
        unsigned int order;
        unsigned long page_idx, buddy_idx;
        struct page *buddy;
@@ -109,7 +109,7 @@ static void unset_migratetype_isolate(struct page *page, unsigned migratetype)
                        if (pfn_valid_within(page_to_pfn(buddy)) &&
                            !is_migrate_isolate_page(buddy)) {
                                __isolate_free_page(page, order);
-                               isolated_page = page;
+                               isolated_page = true;
                        }
                }
        }
@@ -129,7 +129,7 @@ out:
        spin_unlock_irqrestore(&zone->lock, flags);
        if (isolated_page) {
                post_alloc_hook(page, order, __GFP_MOVABLE);
-               __free_pages(isolated_page, order);
+               __free_pages(page, order);
        }
 }