Re: [PATCH] mm,memory_hotplug: Explicitly pass the head to isolate_huge_page

From: Oscar Salvador
Date: Wed Feb 13 2019 - 03:13:18 EST


On Tue, Feb 12, 2019 at 04:13:05PM -0800, Mike Kravetz wrote:
> Well, commit 94310cbcaa3c ("mm/madvise: enable (soft|hard) offline of
> HugeTLB pages at PGD level") should have allowed migration of gigantic
> pages. I believe it was added for 16GB pages on powerpc. However, due
> to subsequent changes I suspsect this no longer works.

I will take a look, I am definitely interested in that.
Thanks for pointing it out Mike.

>
> > This check doesn't make much sense in principle. Why should we bail out
> > based on a section size? We are offlining a pfn range. All that we care
> > about is whether the hugetlb is migrateable.
>
> Yes. Do note that the do_migrate_range is only called from __offline_pages
> with a start_pfn that was returned by scan_movable_pages. scan_movable_pages
> has the hugepage_migration_supported check for PageHuge pages. So, it would
> seem to be redundant to do another check in do_migrate_range.

Well, the thing is that if the gigantic page does not start at the very beginning
of the memblock, and we do find migrateable pages before it in scan_movable_pages(),
the range that we will pass to do_migrate_ranges() will contain the gigantic page.
So we need the check there to cover that case too, although I agree that the current
check is misleading.

I will think about it.

--
Oscar Salvador
SUSE L3