On Fri 04-09-20 12:21:34, Andrew Morton wrote: > On Fri, 4 Sep 2020 07:47:45 +0200 David Hildenbrand <david@xxxxxxxxxx> wrote: [...] > @@ -1589,9 +1567,7 @@ int __ref offline_pages(unsigned long st > reason = "failure to dissolve huge pages"; > goto failed_removal_isolated; > } > - /* check again */ > - ret = walk_system_ram_range(start_pfn, end_pfn - start_pfn, > - NULL, check_pages_isolated_cb); > + > /* > * per-cpu pages are drained in start_isolate_page_range, but if > * there are still pages that are not free, make sure that we > @@ -1604,15 +1580,15 @@ int __ref offline_pages(unsigned long st > * because has_unmovable_pages explicitly checks for > * PageBuddy on freed pages on other zones. > */ > + ret = test_pages_isolated(start_pfn, end_pfn, MEMORY_OFFLINE); > if (ret) > drain_all_pages(zone); > } while (ret); Looks ok -- Michal Hocko SUSE Labs