Re: PS3: trouble with SPARSEMEM_VMEMMAP and kexec

From: Yasunori Goto
Date: Thu Dec 06 2007 - 05:50:09 EST


> On Thu, 6 Dec 2007, Geert Uytterhoeven wrote:
> > On Thu, 6 Dec 2007, Yasunori Goto wrote:
> > > > I'll try Milton's suggestion to pre-allocate the memory early. It seems
> > > > that should work as long as nothing else before the hot-plug mem is added
> > > > needs a large chunk.
> > >
> > > Hello. Geoff-san. Sorry for late response.
> > >
> > > Could you tell me the value of the following page_size calculation
> > > in vmemmap_populate()? I think this page_size may be too big value.
> > >
> > > ------
> > > int __meminit vmemmap_populate(struct page *start_page,
> > > unsigned long nr_pages, int node)
> > > :
> > > :
> > > unsigned long page_size = 1 << mmu_psize_defs[mmu_linear_psize].shift;
> > > :
> > > -------
> >
> > 24 MiB
>
> Bummer, messing up bits and MiB.
>
> 16 MiB of course.

16 MiB is not page size. It is "section size".
IIRC, powerpc's page size must be 4K (or 64K).
If page size is 4k, vmemmap_alloc_block will call the order 12 page.

Is it really correct value for vmemmap population?

> PS3 initially starts with 128 MiB.
> Later hotplug is used to add the remaining memory (96 or 112 MIB, IIRC).

Ok.
Then, add_memory() must be called 6 or 7 times for each sections.

Thanks.


--
Yasunori Goto


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/