From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A134DC54FC9 for ; Tue, 21 Apr 2020 03:31:37 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 74EA320782 for ; Tue, 21 Apr 2020 03:31:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="dmKiX/6z"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="iimVI4Ij" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 74EA320782 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-snps-arc-bounces+linux-snps-arc=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=D8wpf9xuHw0LU1HnQ3Rk0isXx9BbAhNmtRjB+IJio4I=; b=dmKiX/6zan7zeQ 2CEV5ySq4uEeDqG2tyQznBevhwAa4Wrdl936VPyrcLDhYbrlaqhoORxGi7KW9a/M5DviMS4Ls5M0Z iXLgUA9dIsjisIZtCqa7F/8GwlHnBtSCrjPFx4isRgrJQ312ynv4TbqkbHGJSLdnFDMm4rr71fqMw buEy3gh5ln08bgoHgn3oWF9LsWkW30RscRxaIEbao5KbOlYdVworT9qqCVP4m2A2XPXptx9Zxpo9T 26OhuoBbq/98YrYMLIfir9bkVt/E5Ii/3WjYbya3/90G+2AI8T1Tn8wYc0x4vIbhFvxRG3a8HGWOA tKg2htRrL6Atabb/uKRw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jQjdI-0003xI-Kc; Tue, 21 Apr 2020 03:31:36 +0000 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120] helo=us-smtp-1.mimecast.com) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jQjdF-0003uZ-3n for linux-snps-arc@lists.infradead.org; Tue, 21 Apr 2020 03:31:34 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587439891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=I6ayHxPbaOI5Fcwe26HcjPMTYNR5WARmXXyKaOmZqFE=; b=iimVI4IjSwRBDA966YawB4ZXEtKFLVks8GKQxAWOfSFyBzzWyl0HAxqNSlx7jhqdqeSeqb hpunnkJi0sKhyWnZqZCQExAqZEP2cVBbJyYqFgbvJDXNDfpaWSzTglkk2aOpAQP1j7+R+Q KLjphq9pQTQEnlznYiLGaNx+ZMY/Vv8= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-318-BiPXbTKWPV-aZttl4iUkcg-1; Mon, 20 Apr 2020 23:31:29 -0400 X-MC-Unique: BiPXbTKWPV-aZttl4iUkcg-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 806271005509; Tue, 21 Apr 2020 03:31:22 +0000 (UTC) Received: from localhost (ovpn-12-34.pek2.redhat.com [10.72.12.34]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 088171001B09; Tue, 21 Apr 2020 03:31:17 +0000 (UTC) Date: Tue, 21 Apr 2020 11:31:14 +0800 From: Baoquan He To: Mike Rapoport Subject: Re: [PATCH 02/21] mm: make early_pfn_to_nid() and related defintions close to each other Message-ID: <20200421033114.GA29658@MiWiFi-R3L-srv> References: <20200412194859.12663-1-rppt@kernel.org> <20200412194859.12663-3-rppt@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200412194859.12663-3-rppt@kernel.org> User-Agent: Mutt/1.10.1 (2018-07-13) X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200420_203133_239275_01B3FE26 X-CRM114-Status: GOOD ( 20.59 ) X-BeenThere: linux-snps-arc@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on Synopsys ARC Processors List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Rich Felker , linux-ia64@vger.kernel.org, linux-doc@vger.kernel.org, Catalin Marinas , Heiko Carstens , Michal Hocko , "James E.J. Bottomley" , Max Filippov , Guo Ren , linux-csky@vger.kernel.org, linux-parisc@vger.kernel.org, sparclinux@vger.kernel.org, linux-hexagon@vger.kernel.org, linux-riscv@lists.infradead.org, Greg Ungerer , linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-c6x-dev@linux-c6x.org, Brian Cain , Jonathan Corbet , linux-sh@vger.kernel.org, Michael Ellerman , Helge Deller , x86@kernel.org, Russell King , Ley Foon Tan , Mike Rapoport , Geert Uytterhoeven , linux-arm-kernel@lists.infradead.org, Mark Salter , Matt Turner , linux-mips@vger.kernel.org, uclinux-h8-devel@lists.sourceforge.jp, linux-xtensa@linux-xtensa.org, linux-alpha@vger.kernel.org, linux-um@lists.infradead.org, linux-m68k@lists.linux-m68k.org, Tony Luck , Greentime Hu , Paul Walmsley , Stafford Horne , Guan Xuetao , Hoan Tran , Michal Simek , Thomas Bogendoerfer , Yoshinori Sato , Nick Hu , linux-mm@kvack.org, Vineet Gupta , linux-kernel@vger.kernel.org, openrisc@lists.librecores.org, Richard Weinberger , Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S. Miller" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-snps-arc" Errors-To: linux-snps-arc-bounces+linux-snps-arc=archiver.kernel.org@lists.infradead.org On 04/12/20 at 10:48pm, Mike Rapoport wrote: > From: Mike Rapoport > > The early_pfn_to_nid() and it's helper __early_pfn_to_nid() are spread > around include/linux/mm.h, include/linux/mmzone.h and mm/page_alloc.c. > > Drop unused stub for __early_pfn_to_nid() and move its actual generic > implementation close to its users. > > Signed-off-by: Mike Rapoport > --- > include/linux/mm.h | 4 ++-- > include/linux/mmzone.h | 9 -------- > mm/page_alloc.c | 51 +++++++++++++++++++++--------------------- > 3 files changed, 27 insertions(+), 37 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 5a323422d783..a404026d14d4 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -2388,9 +2388,9 @@ extern void sparse_memory_present_with_active_regions(int nid); > > #if !defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) && \ > !defined(CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID) > -static inline int __early_pfn_to_nid(unsigned long pfn, > - struct mminit_pfnnid_cache *state) > +static inline int early_pfn_to_nid(unsigned long pfn) > { > + BUILD_BUG_ON(IS_ENABLED(CONFIG_NUMA)); > return 0; > } > #else > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h > index 1b9de7d220fb..7b5b6eba402f 100644 > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -1078,15 +1078,6 @@ static inline struct zoneref *first_zones_zonelist(struct zonelist *zonelist, > #include > #endif > > -#if !defined(CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID) && \ > - !defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) > -static inline unsigned long early_pfn_to_nid(unsigned long pfn) > -{ > - BUILD_BUG_ON(IS_ENABLED(CONFIG_NUMA)); > - return 0; > -} > -#endif > - > #ifdef CONFIG_FLATMEM > #define pfn_to_nid(pfn) (0) > #endif > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 0d012eda1694..1ac775bfc9cf 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1504,6 +1504,31 @@ void __free_pages_core(struct page *page, unsigned int order) > > static struct mminit_pfnnid_cache early_pfnnid_cache __meminitdata; > > +#ifndef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID > + > +/* > + * Required by SPARSEMEM. Given a PFN, return what node the PFN is on. > + */ > +int __meminit __early_pfn_to_nid(unsigned long pfn, > + struct mminit_pfnnid_cache *state) > +{ > + unsigned long start_pfn, end_pfn; > + int nid; > + > + if (state->last_start <= pfn && pfn < state->last_end) > + return state->last_nid; > + > + nid = memblock_search_pfn_nid(pfn, &start_pfn, &end_pfn); > + if (nid != NUMA_NO_NODE) { > + state->last_start = start_pfn; > + state->last_end = end_pfn; > + state->last_nid = nid; > + } > + > + return nid; > +} > +#endif /* CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID */ > + > int __meminit early_pfn_to_nid(unsigned long pfn) > { > static DEFINE_SPINLOCK(early_pfn_lock); > @@ -6298,32 +6323,6 @@ void __meminit init_currently_empty_zone(struct zone *zone, > zone->initialized = 1; > } > > -#ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP Here it's apparently removing CONFIG_HAVE_MEMBLOCK_NODE_MAP too early, it should be done in patch 3, and its #end is kept there. I just found it when I almost became dizzy in reviewing patch 3. > -#ifndef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID > - > -/* > - * Required by SPARSEMEM. Given a PFN, return what node the PFN is on. > - */ > -int __meminit __early_pfn_to_nid(unsigned long pfn, > - struct mminit_pfnnid_cache *state) > -{ > - unsigned long start_pfn, end_pfn; > - int nid; > - > - if (state->last_start <= pfn && pfn < state->last_end) > - return state->last_nid; > - > - nid = memblock_search_pfn_nid(pfn, &start_pfn, &end_pfn); > - if (nid != NUMA_NO_NODE) { > - state->last_start = start_pfn; > - state->last_end = end_pfn; > - state->last_nid = nid; > - } > - > - return nid; > -} > -#endif /* CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID */ > - > /** > * free_bootmem_with_active_regions - Call memblock_free_early_nid for each active range > * @nid: The node to free memory on. If MAX_NUMNODES, all nodes are freed. > -- > 2.25.1 > _______________________________________________ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc