Message ID | 1482441536-14550-3-git-send-email-ross.zwisler@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu 22-12-16 14:18:54, Ross Zwisler wrote: > Add a pmdp_huge_clear_flush() stub for configs that don't define > CONFIG_TRANSPARENT_HUGEPAGE. > > We use a WARN_ON_ONCE() instead of a BUILD_BUG() because in the DAX code at > least we do want this compile successfully even for configs without > CONFIG_TRANSPARENT_HUGEPAGE. It'll be a runtime decision whether we call > this code gets called, based on whether we find DAX PMD entries in our > tree. We shouldn't ever find such PMD entries for > !CONFIG_TRANSPARENT_HUGEPAGE configs, so this function should never be > called. > > Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com> Looks good. You can add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > include/asm-generic/pgtable.h | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h > index 18af2bc..65e9536 100644 > --- a/include/asm-generic/pgtable.h > +++ b/include/asm-generic/pgtable.h > @@ -178,9 +178,19 @@ extern pte_t ptep_clear_flush(struct vm_area_struct *vma, > #endif > > #ifndef __HAVE_ARCH_PMDP_HUGE_CLEAR_FLUSH > +#ifdef CONFIG_TRANSPARENT_HUGEPAGE > extern pmd_t pmdp_huge_clear_flush(struct vm_area_struct *vma, > unsigned long address, > pmd_t *pmdp); > +#else > +static inline pmd_t pmdp_huge_clear_flush(struct vm_area_struct *vma, > + unsigned long address, > + pmd_t *pmdp) > +{ > + WARN_ON_ONCE(1); > + return *pmdp; > +} > +#endif /* CONFIG_TRANSPARENT_HUGEPAGE */ > #endif > > #ifndef __HAVE_ARCH_PTEP_SET_WRPROTECT > -- > 2.7.4 >
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index 18af2bc..65e9536 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h @@ -178,9 +178,19 @@ extern pte_t ptep_clear_flush(struct vm_area_struct *vma, #endif #ifndef __HAVE_ARCH_PMDP_HUGE_CLEAR_FLUSH +#ifdef CONFIG_TRANSPARENT_HUGEPAGE extern pmd_t pmdp_huge_clear_flush(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp); +#else +static inline pmd_t pmdp_huge_clear_flush(struct vm_area_struct *vma, + unsigned long address, + pmd_t *pmdp) +{ + WARN_ON_ONCE(1); + return *pmdp; +} +#endif /* CONFIG_TRANSPARENT_HUGEPAGE */ #endif #ifndef __HAVE_ARCH_PTEP_SET_WRPROTECT
Add a pmdp_huge_clear_flush() stub for configs that don't define CONFIG_TRANSPARENT_HUGEPAGE. We use a WARN_ON_ONCE() instead of a BUILD_BUG() because in the DAX code at least we do want this compile successfully even for configs without CONFIG_TRANSPARENT_HUGEPAGE. It'll be a runtime decision whether we call this code gets called, based on whether we find DAX PMD entries in our tree. We shouldn't ever find such PMD entries for !CONFIG_TRANSPARENT_HUGEPAGE configs, so this function should never be called. Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com> --- include/asm-generic/pgtable.h | 10 ++++++++++ 1 file changed, 10 insertions(+)