On Thu, Feb 28, 2019 at 10:55:35AM +0100, Michal Hocko wrote: > You seemed to miss my point or I am wrong here. If scan_movable_pages > skips over a hugetlb page then there is nothing to migrate it and it > will stay in the pfn range and the range will not become idle. I might be misunterstanding you, but I am not sure I get you. scan_movable_pages() can either skip or not a hugetlb page. In case it does, pfn will be incremented to skip the whole hugetlb range. If that happens, pfn will hold the next non-hugetlb page. If it happens that the end of the hugetlb page is also the end of the memory range, scan_movable_pages() will return 0 and we will eventually break the loop in __offline_pages(). If this is not what you meant, could you please elaborate a bit more your concern? -- Oscar Salvador SUSE L3