Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[platform/kernel/linux-starfive.git] / mm / page_isolation.c
index eb3a68c..47fbc16 100644 (file)
@@ -37,8 +37,8 @@ static struct page *has_unmovable_pages(unsigned long start_pfn, unsigned long e
        struct zone *zone = page_zone(page);
        unsigned long pfn;
 
-       VM_BUG_ON(ALIGN_DOWN(start_pfn, pageblock_nr_pages) !=
-                 ALIGN_DOWN(end_pfn - 1, pageblock_nr_pages));
+       VM_BUG_ON(pageblock_start_pfn(start_pfn) !=
+                 pageblock_start_pfn(end_pfn - 1));
 
        if (is_migrate_cma_page(page)) {
                /*
@@ -172,7 +172,7 @@ static int set_migratetype_isolate(struct page *page, int migratetype, int isol_
         * to avoid redundant checks.
         */
        check_unmovable_start = max(page_to_pfn(page), start_pfn);
-       check_unmovable_end = min(ALIGN(page_to_pfn(page) + 1, pageblock_nr_pages),
+       check_unmovable_end = min(pageblock_end_pfn(page_to_pfn(page)),
                                  end_pfn);
 
        unmovable = has_unmovable_pages(check_unmovable_start, check_unmovable_end,
@@ -312,7 +312,7 @@ static int isolate_single_pageblock(unsigned long boundary_pfn, int flags,
        struct zone *zone;
        int ret;
 
-       VM_BUG_ON(!IS_ALIGNED(boundary_pfn, pageblock_nr_pages));
+       VM_BUG_ON(!pageblock_aligned(boundary_pfn));
 
        if (isolate_before)
                isolate_pageblock = boundary_pfn - pageblock_nr_pages;
@@ -330,7 +330,7 @@ static int isolate_single_pageblock(unsigned long boundary_pfn, int flags,
                                      zone->zone_start_pfn);
 
        if (skip_isolation) {
-               int mt = get_pageblock_migratetype(pfn_to_page(isolate_pageblock));
+               int mt __maybe_unused = get_pageblock_migratetype(pfn_to_page(isolate_pageblock));
 
                VM_BUG_ON(!is_migrate_isolate(mt));
        } else {
@@ -532,8 +532,8 @@ int start_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn,
        unsigned long pfn;
        struct page *page;
        /* isolation is done at page block granularity */
-       unsigned long isolate_start = ALIGN_DOWN(start_pfn, pageblock_nr_pages);
-       unsigned long isolate_end = ALIGN(end_pfn, pageblock_nr_pages);
+       unsigned long isolate_start = pageblock_start_pfn(start_pfn);
+       unsigned long isolate_end = pageblock_align(end_pfn);
        int ret;
        bool skip_isolation = false;
 
@@ -579,9 +579,8 @@ void undo_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn,
 {
        unsigned long pfn;
        struct page *page;
-       unsigned long isolate_start = ALIGN_DOWN(start_pfn, pageblock_nr_pages);
-       unsigned long isolate_end = ALIGN(end_pfn, pageblock_nr_pages);
-
+       unsigned long isolate_start = pageblock_start_pfn(start_pfn);
+       unsigned long isolate_end = pageblock_align(end_pfn);
 
        for (pfn = isolate_start;
             pfn < isolate_end;