mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02: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
	
	 Kefeng Wang
						Kefeng Wang