Re: [PATCH v2 05/12] mm: thp: add core routines for thp/pmd migration

From: Anshuman Khandual
Date: Thu Nov 10 2016 - 03:29:34 EST


On 11/08/2016 05:01 AM, Naoya Horiguchi wrote:
> This patch prepares thp migration's core code. These code will be open when
> unmap_and_move() stops unconditionally splitting thp and get_new_page() starts
> to allocate destination thps.
>

Snip

> Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
> ---
> ChangeLog v1 -> v2:
> - support pte-mapped thp, doubly-mapped thp
> ---
> arch/x86/include/asm/pgtable_64.h | 2 +
> include/linux/swapops.h | 61 +++++++++++++++
> mm/huge_memory.c | 154 ++++++++++++++++++++++++++++++++++++++
> mm/migrate.c | 44 ++++++++++-
> mm/pgtable-generic.c | 3 +-
> 5 files changed, 262 insertions(+), 2 deletions(-)


> diff --git v4.9-rc2-mmotm-2016-10-27-18-27/mm/pgtable-generic.c v4.9-rc2-mmotm-2016-10-27-18-27_patched/mm/pgtable-generic.c
> index 71c5f91..6012343 100644
> --- v4.9-rc2-mmotm-2016-10-27-18-27/mm/pgtable-generic.c
> +++ v4.9-rc2-mmotm-2016-10-27-18-27_patched/mm/pgtable-generic.c
> @@ -118,7 +118,8 @@ pmd_t pmdp_huge_clear_flush(struct vm_area_struct *vma, unsigned long address,
> {
> pmd_t pmd;
> VM_BUG_ON(address & ~HPAGE_PMD_MASK);
> - VM_BUG_ON(!pmd_trans_huge(*pmdp) && !pmd_devmap(*pmdp));
> + VM_BUG_ON(pmd_present(*pmdp) && !pmd_trans_huge(*pmdp) &&
> + !pmd_devmap(*pmdp))

Its a valid VM_BUG_ON check but is it related to THP migration or
just a regular fix up ?