diff options
| author | Dmitry Torokhov <[email protected]> | 2023-05-01 15:20:08 -0700 | 
|---|---|---|
| committer | Dmitry Torokhov <[email protected]> | 2023-05-01 15:20:08 -0700 | 
| commit | 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e (patch) | |
| tree | d57f3a63479a07b4e0cece029886e76e04feb984 /mm/memory_hotplug.c | |
| parent | 5dc63e56a9cf8df0b59c234a505a1653f1bdf885 (diff) | |
| parent | 53bea86b5712c7491bb3dae12e271666df0a308c (diff) | |
Merge branch 'next' into for-linus
Prepare input updates for 6.4 merge window.
Diffstat (limited to 'mm/memory_hotplug.c')
| -rw-r--r-- | mm/memory_hotplug.c | 16 | 
1 files changed, 7 insertions, 9 deletions
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index fd40f7e9f176..db3b270254f1 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -1620,18 +1620,17 @@ found:  	return 0;  } -static int -do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) +static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)  {  	unsigned long pfn;  	struct page *page, *head; -	int ret = 0;  	LIST_HEAD(source);  	static DEFINE_RATELIMIT_STATE(migrate_rs, DEFAULT_RATELIMIT_INTERVAL,  				      DEFAULT_RATELIMIT_BURST);  	for (pfn = start_pfn; pfn < end_pfn; pfn++) {  		struct folio *folio; +		bool isolated;  		if (!pfn_valid(pfn))  			continue; @@ -1641,7 +1640,7 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)  		if (PageHuge(page)) {  			pfn = page_to_pfn(head) + compound_nr(head) - 1; -			isolate_hugetlb(head, &source); +			isolate_hugetlb(folio, &source);  			continue;  		} else if (PageTransHuge(page))  			pfn = page_to_pfn(head) + thp_nr_pages(page) - 1; @@ -1668,10 +1667,10 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)  		 * LRU and non-lru movable pages.  		 */  		if (PageLRU(page)) -			ret = isolate_lru_page(page); +			isolated = isolate_lru_page(page);  		else -			ret = isolate_movable_page(page, ISOLATE_UNEVICTABLE); -		if (!ret) { /* Success */ +			isolated = isolate_movable_page(page, ISOLATE_UNEVICTABLE); +		if (isolated) {  			list_add_tail(&page->lru, &source);  			if (!__PageMovable(page))  				inc_node_page_state(page, NR_ISOLATED_ANON + @@ -1691,6 +1690,7 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)  			.nmask = &nmask,  			.gfp_mask = GFP_USER | __GFP_MOVABLE | __GFP_RETRY_MAYFAIL,  		}; +		int ret;  		/*  		 * We have checked that migration range is on a single zone so @@ -1719,8 +1719,6 @@ do_migrate_range(unsigned long start_pfn, unsigned long end_pfn)  			putback_movable_pages(&source);  		}  	} - -	return ret;  }  static int __init cmdline_parse_movable_node(char *p)  |