Messages in this thread | | | Date | Fri, 8 May 2015 15:24:28 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH V2 1/2] mm/thp: Split out pmd collpase flush into a seperate functions |
| |
On Thu, 7 May 2015 12:53:27 +0530 "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com> wrote:
> After this patch pmdp_* functions operate only on hugepage pte, > and not on regular pmd_t values pointing to page table. >
The patch looks like a pretty safe no-op for non-powerpc?
> --- a/arch/powerpc/include/asm/pgtable-ppc64.h > +++ b/arch/powerpc/include/asm/pgtable-ppc64.h > @@ -576,6 +576,10 @@ static inline void pmdp_set_wrprotect(struct mm_struct *mm, unsigned long addr, > extern void pmdp_splitting_flush(struct vm_area_struct *vma, > unsigned long address, pmd_t *pmdp); > > +#define __HAVE_ARCH_PMDP_COLLAPSE_FLUSH > +extern pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, > + unsigned long address, pmd_t *pmdp); > +
The fashionable way of doing this is
extern pmd_t pmdp_collapse_flush(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp); #define pmdp_collapse_flush pmdp_collapse_flush
then, elsewhere,
#ifndef pmdp_collapse_flush static inline pmd_t pmdp_collapse_flush(...) {} #define pmdp_collapse_flush pmdp_collapse_flush #endif
It avoids introducing a second (ugly) symbol into the kernel.
| |