Re: [PATCH 8/8] prepare to remove/proc/sys/vm/hugepages_treat_as_movable

From: Naoya Horiguchi
Date: Wed Jul 31 2013 - 16:24:50 EST


On Wed, Jul 31, 2013 at 12:02:30AM +0530, Aneesh Kumar K.V wrote:
> Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> writes:
>
> > Now hugepages are definitely movable. So allocating hugepages from
> > ZONE_MOVABLE is natural and we have no reason to keep this parameter.
> > In order to allow userspace to prepare for the removal, let's leave
> > this sysctl handler as noop for a while.
>
> I guess you still need to handle architectures for which pmd_huge is
>
> int pmd_huge(pmd_t pmd)
> {
> return 0;
> }
>
> embedded powerpc is one. They don't store pte information at the PMD
> level. Instead pmd contains a pointer to hugepage directory which
> contain huge pte.

It seems that this comment is for the whole series, not just for this
patch, right?

Some users of hugepage migration (mbind, move_pages, migrate_pages)
walk over page tables to collect hugepages to be migrated, where
hugepages are just ignored in such architectures due to pmd_huge.
So no problem for these users.

But the other users (softoffline, memory hotremove) choose hugepages
to be migrated based on pfn, where they don't check pmd_huge.
As you wrote, this can be problematic for such architectures.
So I think of adding pmd_huge() check somewhere (in unmap_and_move_huge_page
for example) to make it fail for such architectures.

Thanks,
Naoya Horiguchi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/