]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - mm/page_owner.c
mm/zswap: use workqueue to destroy pool
[karo-tx-linux.git] / mm / page_owner.c
index 44ad1f00c4e1ce8e356c94bbc751fc544f7c7229..792b56da13d8564f4f6fbab68dcf46297bd13c30 100644 (file)
@@ -143,7 +143,7 @@ print_page_owner(char __user *buf, size_t count, unsigned long pfn,
                goto err;
 
        /* Print information relevant to grouping pages by mobility */
-       pageblock_mt = get_pfnblock_migratetype(page, pfn);
+       pageblock_mt = get_pageblock_migratetype(page);
        page_mt  = gfpflags_to_migratetype(page_ext->gfp_mask);
        ret += snprintf(kbuf + ret, count - ret,
                        "PFN %lu type %s Block %lu type %s Flags %#lx(%pGp)\n",
@@ -198,9 +198,8 @@ void __dump_page_owner(struct page *page)
                return;
        }
 
-       pr_alert("page allocated via order %u, migratetype %s, "
-                       "gfp_mask %#x(%pGg)\n", page_ext->order,
-                       migratetype_names[mt], gfp_mask, &gfp_mask);
+       pr_alert("page allocated via order %u, migratetype %s, gfp_mask %#x(%pGg)\n",
+                page_ext->order, migratetype_names[mt], gfp_mask, &gfp_mask);
        print_stack_trace(&trace, 0);
 
        if (page_ext->last_migrate_reason != -1)
@@ -302,6 +301,9 @@ static void init_pages_in_zone(pg_data_t *pgdat, struct zone *zone)
 
                        page = pfn_to_page(pfn);
 
+                       if (page_zone(page) != zone)
+                               continue;
+
                        /*
                         * We are safe to check buddy flag and order, because
                         * this is init stage and only single thread runs.