From: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Subject: mm/madvise: enable soft offline of HugeTLB pages at PUD level Since 94310cbcaa3c2 ("mm/madvise: enable (soft|hard) offline of HugeTLB pages at PGD level") we've been able to soft offline 1G hugepages at the PGD level, however x86_64 gigantic hugepages are at the PUD level so we should add an extra check to account for hstate order at PUD level. It allows migration of 1G pages in general. It also makes these pages allocated with GFP_HIGHUSER_MOVABLE instead of GFP_HIGHUSER. There's nothing changed in this regard in 5-level paging mode. PUD is still one gig and there are no new page sizes. Tested with 4 level pagetable. Link: http://lkml.kernel.org/r/20170913101047.GA13026@xxxxxxxxx Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Cc: Punit Agrawal <punit.agrawal@xxxxxxx> Cc: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/hugetlb.h | 1 + 1 file changed, 1 insertion(+) diff -puN include/linux/hugetlb.h~mm-madvise-enable-soft-offline-of-hugetlb-pages-at-pud-level include/linux/hugetlb.h --- a/include/linux/hugetlb.h~mm-madvise-enable-soft-offline-of-hugetlb-pages-at-pud-level +++ a/include/linux/hugetlb.h @@ -473,6 +473,7 @@ static inline bool hugepage_migration_su { #ifdef CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION if ((huge_page_shift(h) == PMD_SHIFT) || + (huge_page_shift(h) == PUD_SHIFT) || (huge_page_shift(h) == PGDIR_SHIFT)) return true; else _ -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>