On Fri, 15 May 2015 21:12:29 +0530 "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> wrote: > Also move the pmd_trans_huge check to generic code. > > ... > > --- a/include/asm-generic/pgtable.h > +++ b/include/asm-generic/pgtable.h > @@ -196,7 +196,12 @@ static inline pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, > unsigned long address, > pmd_t *pmdp) > { > - return pmdp_clear_flush(vma, address, pmdp); > + pmd_t pmd; > + VM_BUG_ON(address & ~HPAGE_PMD_MASK); > + VM_BUG_ON(pmd_trans_huge(*pmdp)); > + pmd = pmdp_get_and_clear(vma->vm_mm, address, pmdp); > + flush_tlb_range(vma, address, address + HPAGE_PMD_SIZE); > + return pmd; > } x86_64 allmodconfig: In file included from ./arch/x86/include/asm/pgtable.h:878, from include/linux/mm.h:53, from include/linux/suspend.h:8, from arch/x86/kernel/asm-offsets.c:12: include/asm-generic/pgtable.h: In function 'pmdp_collapse_flush': include/asm-generic/pgtable.h:199: error: 'HPAGE_PMD_MASK' undeclared (first use in this function) include/asm-generic/pgtable.h:199: error: (Each undeclared identifier is reported only once include/asm-generic/pgtable.h:199: error: for each function it appears in.) include/asm-generic/pgtable.h:202: error: implicit declaration of function 'flush_tlb_range' include/asm-generic/pgtable.h:202: error: 'HPAGE_PMD_SIZE' undeclared (first use in this function) Including linux/huge_mm.h doesn't work. A suitable fix would be to move this into a .c file. -- 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>