From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from userp2130.oracle.com ([156.151.31.86]:54558 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727082AbgEHWY5 (ORCPT ); Fri, 8 May 2020 18:24:57 -0400 Subject: Re: [PATCH V3 2/3] mm/hugetlb: Define a generic fallback for is_hugepage_only_range() References: <1588907271-11920-1-git-send-email-anshuman.khandual@arm.com> <1588907271-11920-3-git-send-email-anshuman.khandual@arm.com> From: Mike Kravetz Message-ID: <9fc622e1-45ff-b79f-ebe0-35614837456c@oracle.com> Date: Fri, 8 May 2020 15:22:34 -0700 MIME-Version: 1.0 In-Reply-To: <1588907271-11920-3-git-send-email-anshuman.khandual@arm.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-s390-owner@vger.kernel.org List-ID: To: Anshuman Khandual , linux-mm@kvack.org, akpm@linux-foundation.org Cc: Russell King , Catalin Marinas , Will Deacon , Tony Luck , Fenghua Yu , Thomas Bogendoerfer , "James E.J. Bottomley" , Helge Deller , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Paul Walmsley , Palmer Dabbelt , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Yoshinori Sato , Rich Felker , "David S. Miller" , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , x86@kernel.org, linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org On 5/7/20 8:07 PM, Anshuman Khandual wrote: > There are multiple similar definitions for is_hugepage_only_range() on > various platforms. Lets just add it's generic fallback definition for > platforms that do not override. This help reduce code duplication. > > Cc: Russell King > Cc: Catalin Marinas > Cc: Will Deacon > Cc: Tony Luck > Cc: Fenghua Yu > Cc: Thomas Bogendoerfer > Cc: "James E.J. Bottomley" > Cc: Helge Deller > Cc: Benjamin Herrenschmidt > Cc: Paul Mackerras > Cc: Michael Ellerman > Cc: Paul Walmsley > Cc: Palmer Dabbelt > Cc: Heiko Carstens > Cc: Vasily Gorbik > Cc: Christian Borntraeger > Cc: Yoshinori Sato > Cc: Rich Felker > Cc: "David S. Miller" > Cc: Thomas Gleixner > Cc: Ingo Molnar > Cc: Borislav Petkov > Cc: "H. Peter Anvin" > Cc: Mike Kravetz > Cc: Andrew Morton > Cc: x86@kernel.org > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-ia64@vger.kernel.org > Cc: linux-mips@vger.kernel.org > Cc: linux-parisc@vger.kernel.org > Cc: linuxppc-dev@lists.ozlabs.org > Cc: linux-riscv@lists.infradead.org > Cc: linux-s390@vger.kernel.org > Cc: linux-sh@vger.kernel.org > Cc: sparclinux@vger.kernel.org > Cc: linux-mm@kvack.org > Cc: linux-arch@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Signed-off-by: Anshuman Khandual > --- > arch/arm/include/asm/hugetlb.h | 6 ------ > arch/arm64/include/asm/hugetlb.h | 6 ------ > arch/ia64/include/asm/hugetlb.h | 1 + > arch/mips/include/asm/hugetlb.h | 7 ------- > arch/parisc/include/asm/hugetlb.h | 6 ------ > arch/powerpc/include/asm/hugetlb.h | 1 + > arch/riscv/include/asm/hugetlb.h | 6 ------ > arch/s390/include/asm/hugetlb.h | 7 ------- > arch/sh/include/asm/hugetlb.h | 6 ------ > arch/sparc/include/asm/hugetlb.h | 6 ------ > arch/x86/include/asm/hugetlb.h | 6 ------ > include/linux/hugetlb.h | 9 +++++++++ > 12 files changed, 11 insertions(+), 56 deletions(-) > > diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h > index 43a1cef8f0f1..c01c0c6f7fd4 100644 > --- a/include/linux/hugetlb.h > +++ b/include/linux/hugetlb.h > @@ -591,6 +591,15 @@ static inline unsigned int blocks_per_huge_page(struct hstate *h) > > #include > > +#ifndef is_hugepage_only_range > +static inline int is_hugepage_only_range(struct mm_struct *mm, > + unsigned long addr, unsigned long len) > +{ > + return 0; > +} > +#define is_hugepage_only_range is_hugepage_only_range > +#endif > + > #ifndef arch_make_huge_pte > static inline pte_t arch_make_huge_pte(pte_t entry, struct vm_area_struct *vma, > struct page *page, int writable) > Did you try building without CONFIG_HUGETLB_PAGE defined? I'm guessing that you need a stub for is_hugepage_only_range(). Or, perhaps add this to asm-generic/hugetlb.h? -- Mike Kravetz