mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 08:58:07 +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
1 changed files with 7 additions and 7 deletions
14
mm/migrate.c
14
mm/migrate.c
|
@ -157,8 +157,8 @@ void putback_movable_pages(struct list_head *l)
|
||||||
list_del(&folio->lru);
|
list_del(&folio->lru);
|
||||||
/*
|
/*
|
||||||
* We isolated non-lru movable folio so here we can use
|
* We isolated non-lru movable folio so here we can use
|
||||||
* __PageMovable because LRU folio's mapping cannot have
|
* __folio_test_movable because LRU folio's mapping cannot
|
||||||
* PAGE_MAPPING_MOVABLE.
|
* have PAGE_MAPPING_MOVABLE.
|
||||||
*/
|
*/
|
||||||
if (unlikely(__folio_test_movable(folio))) {
|
if (unlikely(__folio_test_movable(folio))) {
|
||||||
VM_BUG_ON_FOLIO(!folio_test_isolated(folio), 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)
|
enum migrate_mode mode)
|
||||||
{
|
{
|
||||||
int rc = -EAGAIN;
|
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(src), src);
|
||||||
VM_BUG_ON_FOLIO(!folio_test_locked(dst), dst);
|
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.
|
* src is freed; but stats require that PageAnon be left as PageAnon.
|
||||||
*/
|
*/
|
||||||
if (rc == MIGRATEPAGE_SUCCESS) {
|
if (rc == MIGRATEPAGE_SUCCESS) {
|
||||||
if (__PageMovable(&src->page)) {
|
if (__folio_test_movable(src)) {
|
||||||
VM_BUG_ON_FOLIO(!folio_test_isolated(src), 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
|
* Compaction can migrate also non-LRU pages which are
|
||||||
* not accounted to NR_ISOLATED_*. They can be recognized
|
* not accounted to NR_ISOLATED_*. They can be recognized
|
||||||
* as __PageMovable
|
* as __folio_test_movable
|
||||||
*/
|
*/
|
||||||
if (likely(!__folio_test_movable(src)))
|
if (likely(!__folio_test_movable(src)))
|
||||||
mod_node_page_state(folio_pgdat(src), NR_ISOLATED_ANON +
|
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 rc = -EAGAIN;
|
||||||
int page_was_mapped = 0;
|
int page_was_mapped = 0;
|
||||||
struct anon_vma *anon_vma = NULL;
|
struct anon_vma *anon_vma = NULL;
|
||||||
bool is_lru = !__PageMovable(&src->page);
|
bool is_lru = !__folio_test_movable(src);
|
||||||
bool locked = false;
|
bool locked = false;
|
||||||
bool dst_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 rc;
|
||||||
int page_was_mapped = 0;
|
int page_was_mapped = 0;
|
||||||
struct anon_vma *anon_vma = NULL;
|
struct anon_vma *anon_vma = NULL;
|
||||||
bool is_lru = !__PageMovable(&src->page);
|
bool is_lru = !__folio_test_movable(src);
|
||||||
struct list_head *prev;
|
struct list_head *prev;
|
||||||
|
|
||||||
__migrate_folio_extract(dst, &page_was_mapped, &anon_vma);
|
__migrate_folio_extract(dst, &page_was_mapped, &anon_vma);
|
||||||
|
|
Loading…
Reference in a new issue