mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 22:02:28 +00:00
mm: migrate: use __folio_test_movable()
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>
This commit is contained in:
parent
73eab3ca48
commit
7e2a5e5ab2
14
mm/migrate.c
14
mm/migrate.c
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user