On Tue, May 07, 2013 at 04:56:46PM +0900, HATAYAMA Daisuke wrote: > (2013/04/30 4:36), Vivek Goyal wrote: > >On Sat, Apr 13, 2013 at 09:21:33AM +0900, HATAYAMA Daisuke wrote: > > > >[..] > >>ELF notes are per-cpu, so total size of ELF note segments increases > >>according to the number of CPUs. The current maximum number of CPUs on > >>x86_64 is 5192, and there's already system with 4192 CPUs in SGI, > >>where total size amounts to 1MB. This can be larger in the neare > >>futrue or possibly even now on another architecture. Thus, to avoid > >>the case where memory allocation for large block fails, we allocate > >>vmcore objects per pages. > > > >IIRC, eric had suggested using vmalloc() and remap_vmalloc_range(). What's > >wrong with that? That should keep your vc_list relatively smaller. > > > > Yes, it's handy if it's possible to remap them in vmalloc space, but > the problem here is that remap_vmalloc_range requires the first > argument vma to cover full range of the requested map. This becomes > problem when requested area for mmap() overlaps multiple objects, > for example, ELF headers and memory refered to by the first PT_LOAD > program header. > > To use remap_vmalloc_range, it's necessary to prepare a new variant > similar to remap_pfn_range by which we can remap different objects > separately to a single vma. Ok. Is it hard to prepare one such variant. If we can write one, it will simplify the vmcore code. Thanks Vivek