Skip to content
  • Aneesh Kumar K.V's avatar
    mm/hugetlb: filter out hugetlb pages if HUGEPAGE migration is not supported. · f1549c67
    Aneesh Kumar K.V authored
    commit 464c7ffb upstream.
    
    When scanning for movable pages, filter out Hugetlb pages if hugepage
    migration is not supported.  Without this we hit infinte loop in
    __offline_pages() where we do
    
    	pfn = scan_movable_pages(start_pfn, end_pfn);
    	if (pfn) { /* We have movable pages */
    		ret = do_migrate_range(pfn, end_pfn);
    		goto repeat;
    	}
    
    Fix this by checking hugepage_migration_supported both in
    has_unmovable_pages which is the primary backoff mechanism for page
    offlining and for consistency reasons also into scan_movable_pages
    because it doesn't make any sense to return a pfn to non-migrateable
    huge page.
    
    This issue was revealed by, but not caused by 72b39cfc ("mm,
    memory_hotplug: do not fail offlining too early").
    
    Link: http://lkml.kernel.org/r/20180824063314.21981-1-aneesh.kumar@linux.ibm.com
    Fixes: 72b39cfc ("mm, memory_hotplug: do not fail offlining too early")
    Signed-off-by: Aneesh Ku...
    f1549c67