Hi Atsushi, I have got the test machine where bug reported and did a test. The changed code can make elf dump successful. Thanks Baoquan On 04/14/14 at 04:02pm, Baoquan He wrote: > In case elf dump, the code to calculate the cyclic buffer size is > not correct. Since elf need bitmap1/2, so the needed memory for > bufsize_cyclic need be double. Hence free size should be 40% of > free memory, however the needed_size which free_size is compared > with should be info->max_mapnr / BITPERBYTE, but not 2 times of it. > > Because of this, in case of free memory in 2nd kernel is not too much, > OOM will happen very often. > > Signed-off-by: Baoquan He <bhe at redhat.com> > --- > makedumpfile.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/makedumpfile.c b/makedumpfile.c > index 75092a8..01ec516 100644 > --- a/makedumpfile.c > +++ b/makedumpfile.c > @@ -9010,7 +9010,7 @@ calculate_cyclic_buffer_size(void) { > */ > if (info->flag_elf_dumpfile) { > free_size = get_free_memory_size() * 0.4; > - needed_size = (info->max_mapnr * 2) / BITPERBYTE; > + needed_size = info->max_mapnr / BITPERBYTE; > } else { > free_size = get_free_memory_size() * 0.8; > needed_size = info->max_mapnr / BITPERBYTE; > -- > 1.8.5.3 > > > _______________________________________________ > kexec mailing list > kexec at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/kexec