lkml.org 
[lkml]   [2007]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: PS3: trouble with SPARSEMEM_VMEMMAP and kexec
Yasunori Goto wrote:
>> 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;
>> > > :
>> > > -------
>>
>> 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.


By default PS3 uses 4K virtual pages, and 16M linear pages.


> Is it really correct value for vmemmap population?


It seems vmemmap needs linear pages, so I think it is ok.


>> 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.


Yes, I call add_memory() once, then it in turn calls sparse_add_one_section()
7 times.

-Geoff




\
 
 \ /
  Last update: 2007-12-08 03:53    [W:0.100 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site