diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h > index 39f1d6a2b04d..acdcaac77d93 100644 > --- a/include/asm-generic/pgtable.h > +++ b/include/asm-generic/pgtable.h > @@ -189,6 +189,28 @@ extern void pmdp_splitting_flush(struct vm_area_struct *vma, > unsigned long address, pmd_t *pmdp); > #endif > > +#ifndef pmdp_collapse_flush > +#define pmdp_collapse_flush pmdp_collapse_flush > +#ifdef CONFIG_TRANSPARENT_HUGEPAGE > +static inline pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, > + unsigned long address, > + pmd_t *pmdp) extra pmdp_collapse_flush #define here > +{ > + return pmdp_clear_flush(vma, address, pmdp); > +} > +#define pmdp_collapse_flush pmdp_collapse_flush > +#else > +static inline pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, > + unsigned long address, > + pmd_t *pmdp) > +{ > + BUILD_BUG(); > + return *pmdp; > +} > +#define pmdp_collapse_flush pmdp_collapse_flush > +#endif /* CONFIG_TRANSPARENT_HUGEPAGE */ > +#endif > + > #ifndef __HAVE_ARCH_PGTABLE_DEPOSIT > extern void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp, > pgtable_t pgtable); diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index acdcaac77d93..2c3ca89e9aee 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h @@ -190,7 +190,6 @@ extern void pmdp_splitting_flush(struct vm_area_struct *vma, #endif #ifndef pmdp_collapse_flush -#define pmdp_collapse_flush pmdp_collapse_flush #ifdef CONFIG_TRANSPARENT_HUGEPAGE static inline pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, unsigned long address, -- 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>