mm: migrate: use __folio_test_movable()
authorKefeng Wang <wangkefeng.wang@huawei.com>
Wed, 13 Sep 2023 09:51:28 +0000 (17:51 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Wed, 4 Oct 2023 17:32:28 +0000 (10:32 -0700)
Use __folio_test_movable(), no need to convert from folio to page again.

Link: https://lkml.kernel.org/r/20230913095131.2426871-6-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Cc: "Huang, Ying" <ying.huang@intel.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/migrate.c

index 1b848f6..2a826da 100644 (file)
@@ -157,8 +157,8 @@ void putback_movable_pages(struct list_head *l)
                list_del(&folio->lru);
                /*
                 * We isolated non-lru movable folio so here we can use
-                * __PageMovable because LRU folio's mapping cannot have
-                * PAGE_MAPPING_MOVABLE.
+                * __folio_test_movable because LRU folio's mapping cannot
+                * have PAGE_MAPPING_MOVABLE.
                 */
                if (unlikely(__folio_test_movable(folio))) {
                        VM_BUG_ON_FOLIO(!folio_test_isolated(folio), folio);
@@ -946,7 +946,7 @@ static int move_to_new_folio(struct folio *dst, struct folio *src,
                                enum migrate_mode mode)
 {
        int rc = -EAGAIN;
-       bool is_lru = !__PageMovable(&src->page);
+       bool is_lru = !__folio_test_movable(src);
 
        VM_BUG_ON_FOLIO(!folio_test_locked(src), src);
        VM_BUG_ON_FOLIO(!folio_test_locked(dst), dst);
@@ -993,7 +993,7 @@ static int move_to_new_folio(struct folio *dst, struct folio *src,
         * src is freed; but stats require that PageAnon be left as PageAnon.
         */
        if (rc == MIGRATEPAGE_SUCCESS) {
-               if (__PageMovable(&src->page)) {
+               if (__folio_test_movable(src)) {
                        VM_BUG_ON_FOLIO(!folio_test_isolated(src), src);
 
                        /*
@@ -1085,7 +1085,7 @@ static void migrate_folio_done(struct folio *src,
        /*
         * Compaction can migrate also non-LRU pages which are
         * not accounted to NR_ISOLATED_*. They can be recognized
-        * as __PageMovable
+        * as __folio_test_movable
         */
        if (likely(!__folio_test_movable(src)))
                mod_node_page_state(folio_pgdat(src), NR_ISOLATED_ANON +
@@ -1106,7 +1106,7 @@ static int migrate_folio_unmap(new_folio_t get_new_folio,
        int rc = -EAGAIN;
        int page_was_mapped = 0;
        struct anon_vma *anon_vma = NULL;
-       bool is_lru = !__PageMovable(&src->page);
+       bool is_lru = !__folio_test_movable(src);
        bool locked = false;
        bool dst_locked = false;
 
@@ -1264,7 +1264,7 @@ static int migrate_folio_move(free_folio_t put_new_folio, unsigned long private,
        int rc;
        int page_was_mapped = 0;
        struct anon_vma *anon_vma = NULL;
-       bool is_lru = !__PageMovable(&src->page);
+       bool is_lru = !__folio_test_movable(src);
        struct list_head *prev;
 
        __migrate_folio_extract(dst, &page_was_mapped, &anon_vma);