]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - mm/page_isolation.c
bpf: adjust verifier heuristics
[karo-tx-linux.git] / mm / page_isolation.c
index f4e17a57926afffa33fceabf81a742ffc254d914..5092e4ef00c832fefb624a1d9d8f618402ad4402 100644 (file)
@@ -66,7 +66,8 @@ out:
 
                set_pageblock_migratetype(page, MIGRATE_ISOLATE);
                zone->nr_isolate_pageblock++;
-               nr_pages = move_freepages_block(zone, page, MIGRATE_ISOLATE);
+               nr_pages = move_freepages_block(zone, page, MIGRATE_ISOLATE,
+                                                                       NULL);
 
                __mod_zone_freepage_state(zone, -nr_pages, migratetype);
        }
@@ -88,7 +89,7 @@ static void unset_migratetype_isolate(struct page *page, unsigned migratetype)
 
        zone = page_zone(page);
        spin_lock_irqsave(&zone->lock, flags);
-       if (get_pageblock_migratetype(page) != MIGRATE_ISOLATE)
+       if (!is_migrate_isolate_page(page))
                goto out;
 
        /*
@@ -120,7 +121,7 @@ static void unset_migratetype_isolate(struct page *page, unsigned migratetype)
         * pageblock scanning for freepage moving.
         */
        if (!isolated_page) {
-               nr_pages = move_freepages_block(zone, page, migratetype);
+               nr_pages = move_freepages_block(zone, page, migratetype, NULL);
                __mod_zone_freepage_state(zone, nr_pages, migratetype);
        }
        set_pageblock_migratetype(page, migratetype);
@@ -205,7 +206,7 @@ int undo_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn,
             pfn < end_pfn;
             pfn += pageblock_nr_pages) {
                page = __first_valid_page(pfn, pageblock_nr_pages);
-               if (!page || get_pageblock_migratetype(page) != MIGRATE_ISOLATE)
+               if (!page || !is_migrate_isolate_page(page))
                        continue;
                unset_migratetype_isolate(page, migratetype);
        }
@@ -262,7 +263,7 @@ int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn,
         */
        for (pfn = start_pfn; pfn < end_pfn; pfn += pageblock_nr_pages) {
                page = __first_valid_page(pfn, pageblock_nr_pages);
-               if (page && get_pageblock_migratetype(page) != MIGRATE_ISOLATE)
+               if (page && !is_migrate_isolate_page(page))
                        break;
        }
        page = __first_valid_page(start_pfn, end_pfn - start_pfn);