Re: PS3: trouble with SPARSEMEM_VMEMMAP and kexec

From: Yasunori Goto
Date: Thu Dec 06 2007 - 01:11:20 EST



> 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;
:
-------


In addition, I remember that current add_memory() is designed for
only 1 section's addition. (See: memory_probe_store() and
sparse_mem_map_populate().
they require only for 1 section's mem_map by specifing
PAGES_PER_SECTION.)
The 1 section size for normal powerpc box is only 16MB.
(IA64 -> 1GB, x86-64 -> 128MB).

But, if my understanding is correct, PS3's add_memory() requires all
of total memory. I'm afraid something other problems might be hidden
in this issue yet.

(However, I think Milton-san's suggestion is very desirable.
If preallocation of hotadd works on ia64 too, I'm very glad.)

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/