linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@linux.vnet.ibm.com>
To: Jonathan Cameron <jonathan.cameron@huawei.com>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
	"David S. Miller" <davem@davemloft.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ingo Molnar <mingo@redhat.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@suse.com>,
	Paul Burton <paul.burton@mips.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org, linux-mips@linux-mips.org,
	linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
	linux-kernel@vger.kernel.org, linuxarm@huawei.com
Subject: Re: [RFC PATCH 03/29] mm: remove CONFIG_HAVE_MEMBLOCK
Date: Wed, 19 Sep 2018 13:34:57 +0300	[thread overview]
Message-ID: <20180919103457.GA20545@rapoport-lnx> (raw)
In-Reply-To: <20180919100449.00006df9@huawei.com>

Hi Jonathan,

On Wed, Sep 19, 2018 at 10:04:49AM +0100, Jonathan Cameron wrote:
> On Wed, 5 Sep 2018 18:59:18 +0300
> Mike Rapoport <rppt@linux.vnet.ibm.com> wrote:
> 
> > All architecures use memblock for early memory management. There is no need
> > for the CONFIG_HAVE_MEMBLOCK configuration option.
> > 
> > Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
> 
> Hi Mike,
> 
> A minor editing issue in here that is stopping boot on arm64 platforms with latest
> version of the mm tree.

Can you please try the following patch:


>From 079bd5d24a01df3df9500d0a33d89cb9f7da4588 Mon Sep 17 00:00:00 2001
From: Mike Rapoport <rppt@linux.vnet.ibm.com>
Date: Wed, 19 Sep 2018 13:29:27 +0300
Subject: [PATCH] of/fdt: fixup #ifdefs after removal of HAVE_MEMBLOCK config
 option

The removal of HAVE_MEMBLOCK configuration option, mistakenly dropped the
wrong #endif. This patch restores that #endif and removes the part that
should have been actually removed, starting from #else and up to the
correct #endif

Reported-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
---
 drivers/of/fdt.c | 21 +--------------------
 1 file changed, 1 insertion(+), 20 deletions(-)

diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 48314e9..bb532aa 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -1119,6 +1119,7 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname,
 #endif
 #ifndef MAX_MEMBLOCK_ADDR
 #define MAX_MEMBLOCK_ADDR	((phys_addr_t)~0)
+#endif
 
 void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size)
 {
@@ -1175,26 +1176,6 @@ int __init __weak early_init_dt_reserve_memory_arch(phys_addr_t base,
 	return memblock_reserve(base, size);
 }
 
-#else
-void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size)
-{
-	WARN_ON(1);
-}
-
-int __init __weak early_init_dt_mark_hotplug_memory_arch(u64 base, u64 size)
-{
-	return -ENOSYS;
-}
-
-int __init __weak early_init_dt_reserve_memory_arch(phys_addr_t base,
-					phys_addr_t size, bool nomap)
-{
-	pr_err("Reserved memory not supported, ignoring range %pa - %pa%s\n",
-		  &base, &size, nomap ? " (nomap)" : "");
-	return -ENOSYS;
-}
-#endif
-
 static void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
 {
 	return memblock_alloc(size, align);
-- 
2.7.4

 
> > diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> > index 76c83c1..bd841bb 100644
> > --- a/drivers/of/fdt.c
> > +++ b/drivers/of/fdt.c
> > @@ -1115,13 +1115,11 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname,
> >  	return 1;
> >  }
> >  
> > -#ifdef CONFIG_HAVE_MEMBLOCK
> >  #ifndef MIN_MEMBLOCK_ADDR
> >  #define MIN_MEMBLOCK_ADDR	__pa(PAGE_OFFSET)
> >  #endif
> >  #ifndef MAX_MEMBLOCK_ADDR
> >  #define MAX_MEMBLOCK_ADDR	((phys_addr_t)~0)
> > -#endif
> 
> This isn't the right #endif. It is matching with the #ifndef MAX_MEMBLOCK_ADDR
> not the intented #ifdef CONFIG_HAVE_MEMBLOCK.
> 
> Now I haven't chased through the exact reason this is causing my acpi
> arm64 system not to boot on the basis it is obviously miss-matched anyway
> and I'm inherently lazy.  It's resulting in stubs replacing the following weak
> functions.
> 
> early_init_dt_add_memory_arch
> (this is defined elsewhere for some architectures but not arm)
> 
> early_init_dt_mark_hotplug_memory_arch
> (there is only one definition of this in the kernel so it doesn't
>  need to be weak or in the header etc).
> 
> early_init_dt_reserve_memory_arch
> (defined on mips but nothing else)
> 
> Taking out the right endif also lets you drop an #else removing some stub
> functions further down in here.
> 
> Nice cleanup in general btw.
> 
> Thanks,
> 
> Jonathan
> >  
> >  void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size)
> >  {
> 

-- 
Sincerely yours,
Mike.

  reply	other threads:[~2018-09-19 10:35 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-05 15:59 [RFC PATCH 00/29] mm: remove bootmem allocator Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 01/29] mips: switch to NO_BOOTMEM Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 02/29] mm: remove CONFIG_NO_BOOTMEM Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 03/29] mm: remove CONFIG_HAVE_MEMBLOCK Mike Rapoport
2018-09-19  9:04   ` Jonathan Cameron
2018-09-19 10:34     ` Mike Rapoport [this message]
2018-09-19 10:45       ` Jonathan Cameron
2018-09-19 10:55         ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 04/29] mm: remove bootmem allocator implementation Mike Rapoport
2018-09-06  7:30   ` Michal Hocko
2018-09-06  8:31     ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 05/29] mm: nobootmem: remove dead code Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 06/29] memblock: rename memblock_alloc{_nid, _try_nid} to memblock_phys_alloc* Mike Rapoport
2018-09-06  7:35   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 07/29] memblock: remove _virt from APIs returning virtual address Mike Rapoport
2018-09-05 17:04   ` Rob Herring
2018-09-05 17:20     ` Mike Rapoport
2018-09-06  7:28       ` Michal Hocko
2018-09-06 12:43         ` Mike Rapoport
2018-09-06 13:01           ` Michal Hocko
2018-09-06 13:39             ` Mike Rapoport
2018-09-06 13:46               ` Michal Hocko
2018-09-07  8:42                 ` Mike Rapoport
2018-09-07  8:47                   ` Michal Hocko
2018-09-07  9:19                     ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 08/29] memblock: replace alloc_bootmem_align with memblock_alloc Mike Rapoport
2018-09-06  7:39   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 09/29] memblock: replace alloc_bootmem_low with memblock_alloc_low Mike Rapoport
2018-09-06  7:41   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 10/29] memblock: replace __alloc_bootmem_node_nopanic with memblock_alloc_try_nid_nopanic Mike Rapoport
2018-09-06  7:49   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 11/29] memblock: replace alloc_bootmem_pages_nopanic with memblock_alloc_nopanic Mike Rapoport
2018-09-06  7:53   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 12/29] memblock: replace alloc_bootmem_low with memblock_alloc_low Mike Rapoport
2018-09-06  7:55   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 13/29] memblock: replace __alloc_bootmem_nopanic with memblock_alloc_from_nopanic Mike Rapoport
2018-09-06  7:57   ` Michal Hocko
2018-09-06 12:44     ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 14/29] memblock: add align parameter to memblock_alloc_node() Mike Rapoport
2018-09-06  8:06   ` Michal Hocko
2018-09-06 12:49     ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 15/29] memblock: replace alloc_bootmem_pages_node with memblock_alloc_node Mike Rapoport
2018-09-06  8:08   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 16/29] memblock: replace __alloc_bootmem_node with appropriate memblock_ API Mike Rapoport
2018-09-06  8:38   ` Michal Hocko
2018-09-06 12:50     ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 17/29] memblock: replace alloc_bootmem_node with memblock_alloc_node Mike Rapoport
2018-09-06  8:41   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 18/29] memblock: replace alloc_bootmem_low_pages with memblock_alloc_low Mike Rapoport
2018-09-06  8:43   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 19/29] memblock: replace alloc_bootmem_pages with memblock_alloc Mike Rapoport
2018-09-06  8:44   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 20/29] memblock: replace __alloc_bootmem with memblock_alloc_from Mike Rapoport
2018-09-06  8:52   ` Michal Hocko
2018-09-06 12:58     ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 21/29] memblock: replace alloc_bootmem with memblock_alloc Mike Rapoport
2018-09-06  8:55   ` Michal Hocko
2018-09-06 13:14     ` Mike Rapoport
2018-09-05 15:59 ` [RFC PATCH 22/29] mm: nobootmem: remove bootmem allocation APIs Mike Rapoport
2018-09-06  8:56   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 23/29] memblock: replace free_bootmem{_node} with memblock_free Mike Rapoport
2018-09-06  8:57   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 24/29] memblock: replace free_bootmem_late with memblock_free_late Mike Rapoport
2018-09-06  9:02   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 25/29] memblock: rename free_all_bootmem to memblock_free_all Mike Rapoport
2018-09-06  9:04   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 26/29] memblock: rename __free_pages_bootmem to memblock_free_pages Mike Rapoport
2018-09-06  9:06   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 27/29] mm: remove nobootmem Mike Rapoport
2018-09-06  9:08   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 28/29] memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants Mike Rapoport
2018-09-06  9:08   ` Michal Hocko
2018-09-05 15:59 ` [RFC PATCH 29/29] mm: remove include/linux/bootmem.h Mike Rapoport
2018-09-06  2:33 ` [RFC PATCH 00/29] mm: remove bootmem allocator Greentime Hu
2018-09-06 13:30   ` Mike Rapoport
2018-09-06  9:15 ` Michal Hocko
2018-09-06 13:04   ` Pasha Tatashin
2018-09-06 13:21     ` Mike Rapoport
2018-09-06 13:16   ` Mike Rapoport

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180919103457.GA20545@rapoport-lnx \
    --to=rppt@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=jonathan.cameron@huawei.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxarm@huawei.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mhocko@suse.com \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=paul.burton@mips.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).