Recently people complained that they don't know how to decide how much disk size need be reserved for kdump. E.g there are lots of machines with different memory size, if the memory usage information of current system can be shown, that can help them to make an estimate how much storage space need be reserved. In this patchset, a new interface is added into makedumpfile. By the help of this, people can know the page number of memory in different use. The implementation is analyzing the "System Ram" and "kernel text" program segment of /proc/kcore excluding the crashkernel range, then calculating the page number of different kind per vmcoreinfo. Previouly, patchset v1 was posted. And patch 7/7 has a change in v2. So several changes are made in this v3 post per comments from Vivek and Atsushi. [patch 3/7] preparation functions for parsing vmcoreinfo v1->v3: Since get_kernel_version need be called to get page_offset before initial() in mem_usage code flow, and surely it will be called inside initial() again. Add a static variable to avoid this duplicate calling. [patch 5/7] prepare the dump loads for kcore analysis v1->v3: Fix the compiler warnings. [patch 6/7] implement a function to print the memory usage v1->v3: Adjust the printing content and format of dumpable page numbers per Vivek's comments. [patch 7/7] v1->v2: Set info->dump_level=MAX_DUMP_LEVEL, with MAX_DUMP_LEVEL all kinds of memory can be calculated. v2->v3: Add the description of this feature into help message and man page. Baoquan He (7): initialize pfn_memhole in get_num_dumpable_cyclic functions to get crashkernel memory range preparation functions for parsing vmcoreinfo set vmcoreinfo for kcore prepare the dump loads for kcore analysis implement a function to print the memory usage add a new interface to show the memory usage of 1st kernel elf_info.c | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++++ elf_info.h | 3 + makedumpfile.8 | 17 ++++ makedumpfile.c | 247 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ makedumpfile.h | 10 +++ print_info.c | 8 ++ 6 files changed, 516 insertions(+) -- 1.8.5.3