On Thu, Mar 21, 2013 at 12:22:59AM -0700, Eric W. Biederman wrote: > HATAYAMA Daisuke <d.hatayama at jp.fujitsu.com> writes: > > > OK, rigorously, suceess or faliure of the requested free pages > > allocation depends on actual memory layout at the 2nd kernel boot. To > > increase the possibility of allocating memory, we have no method but > > reserve more memory for the 2nd kernel now. > > Good enough. If there are fragmentation issues that cause allocation > problems on larger boxes we can use vmalloc and remap_vmalloc_range, but > we certainly don't need to start there. > > Especialy as for most 8 or 16 core boxes we are talking about a 4KiB or > an 8KiBP allocation. Aka order 0 or order 1. > Actually we are already handling the large SGI machines so we need to plan for 4096 cpus now while we write these patches. vmalloc() and remap_vmalloc_range() sounds reasonable. So that's what we should probaly use. Alternatively why not allocate everything in 4K pages and use vmcore_list to map offset into right addresses and call remap_pfn_range() on these addresses. Thanks Vivek