Re: [PATCH] mips: sgi-ip27: switch from DISCONTIGMEM to SPARSEMEM

From: Thomas Bogendoerfer
Date: Thu Sep 05 2019 - 17:38:04 EST


On Thu, 5 Sep 2019 18:47:49 +0300
Mike Rapoport <rppt@xxxxxxxxxx> wrote:

> On Thu, Sep 05, 2019 at 03:48:31PM +0200, Thomas Bogendoerfer wrote:
> > On Thu, 5 Sep 2019 16:32:53 +0300
> > Mike Rapoport <rppt@xxxxxxxxxx> wrote:
> >
> > > On Thu, Sep 05, 2019 at 03:21:50PM +0200, Thomas Bogendoerfer wrote:
> > > > On Thu, 5 Sep 2019 08:47:57 +0300
> > > > Mike Rapoport <rppt@xxxxxxxxxx> wrote:
> > > >
> > > > > From: Mike Rapoport <rppt@xxxxxxxxxxxxx>
> > > > >
> > > > > The memory initialization of SGI-IP27 is already half-way to support
> > > > > SPARSEMEM and only a call to sparse_init() was missing. Add it to
> > > > > prom_meminit() and adjust arch/mips/Kconfig to enable SPARSEMEM and
> > > > > SPARSEMEM_EXTREME for SGI-IP27
> > > > >
> > > > > Signed-off-by: Mike Rapoport <rppt@xxxxxxxxxxxxx>
> > > > > ---
> > > > >
> > > > > Thomas, could you please test this on your Origin machine?
> > > >
> > > > it crashes in sparse_early_usemaps_alloc_pgdat_section(). Since there is
> > > > already a sparse_init() in arch_mem_setup() I removed it from ip27-memory.c.
> > >
> > > Oops, missed that.
> > >
> > > > With this booting made more progress but I get an unaligned access in
> > > > kernel_init_free_pages().
> > >
> > > Can you please share the log?
> >
> > sure
>
> Nothing looked particularly suspicious, but I've found that I've missed the
> definition of pfn_to_nid() is for DISCONTIGMEM only, maybe making it
> available for SPARSE would help :)
>
> I'm pretty much shooting in the dark here, but can you please try the patch
> below on top of the original one:

doesn't compile:

/home/tbogendoerfer/wip/mips/linux/include/linux/mmzone.h:1367:0: warning: "pfn_to_nid" redefined
#define pfn_to_nid(pfn) \


For testing I've removed the version in linux/mmzone.h, but kernel still crashes. Only
difference is that several CPUs are printing the oops in unaligned handler in parallel.
With the sparse_init() in prom_meminit() kernel dies at the same spot as before.

Thomas.

--
SUSE Software Solutions Germany GmbH
HRB 247165 (AG München)
Geschäftsführer: Felix Imendörffer