Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753407AbbEHWYb (ORCPT ); Fri, 8 May 2015 18:24:31 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:34518 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753228AbbEHWYa (ORCPT ); Fri, 8 May 2015 18:24:30 -0400 Date: Fri, 8 May 2015 15:24:28 -0700 From: Andrew Morton To: "Aneesh Kumar K.V" Cc: mpe@ellerman.id.au, paulus@samba.org, benh@kernel.crashing.org, kirill.shutemov@linux.intel.com, aarcange@redhat.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Subject: Re: [PATCH V2 1/2] mm/thp: Split out pmd collpase flush into a seperate functions Message-Id: <20150508152428.4326eaaae99b74fa53c96f23@linux-foundation.org> In-Reply-To: <1430983408-24924-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com> References: <1430983408-24924-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com> X-Mailer: Sylpheed 3.4.1 (GTK+ 2.24.23; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1402 Lines: 39 On Thu, 7 May 2015 12:53:27 +0530 "Aneesh Kumar K.V" 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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/