On 06/17/2016 09:57 AM, js1...@gmail.com wrote:
From: Joonsoo Kim <iamjoonsoo....@lge.com>

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.

Signed-off-by: Joonsoo Kim <iamjoonsoo....@lge.com>

Acked-by: Vlastimil Babka <vba...@suse.cz>

Could be also just folded to mm/page_owner: initialize page owner without holding the zone lock

---
 mm/page_isolation.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/mm/page_isolation.c b/mm/page_isolation.c
index 4639163..064b7fb 100644
--- a/mm/page_isolation.c
+++ b/mm/page_isolation.c
@@ -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);
        }
 }



Reply via email to