Adjust the message printing when specify option --mem-usage. Try to avoid the unrelated printing. And add the page size info and the total size of system memory on byte. Signed-off-by: Baoquan He <bhe at redhat.com> --- makedumpfile.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/makedumpfile.c b/makedumpfile.c index c965745..8667791 100644 --- a/makedumpfile.c +++ b/makedumpfile.c @@ -4939,7 +4939,8 @@ exclude_unnecessary_pages_cyclic(struct cycle *cycle) for (mm = 0; mm < info->num_mem_map; mm++) { - print_progress(PROGRESS_UNN_PAGES, mm, info->num_mem_map); + if (!info->flag_mem_usage) + print_progress(PROGRESS_UNN_PAGES, mm, info->num_mem_map); mmd = &info->mem_map_data[mm]; @@ -4957,8 +4958,10 @@ exclude_unnecessary_pages_cyclic(struct cycle *cycle) /* * print [100 %] */ - print_progress(PROGRESS_UNN_PAGES, info->num_mem_map, info->num_mem_map); - print_execution_time(PROGRESS_UNN_PAGES, &tv_start); + if (!info->flag_mem_usage) { + print_progress(PROGRESS_UNN_PAGES, info->num_mem_map, info->num_mem_map); + print_execution_time(PROGRESS_UNN_PAGES, &tv_start); + } } return TRUE; @@ -7948,6 +7951,7 @@ static void print_mem_usage(void) { mdf_pfn_t pfn_original, pfn_excluded, shrinking; + unsigned long long total_size; /* * /proc/vmcore doesn't contain the memory hole area. @@ -7958,11 +7962,11 @@ print_mem_usage(void) + pfn_user + pfn_free + pfn_hwpoison; shrinking = (pfn_original - pfn_excluded) * 100; shrinking = shrinking / pfn_original; + total_size = info->page_size * pfn_original; MSG("\n"); - MSG("\n"); - MSG("----------------------------------------------------------------------\n"); MSG("TYPE PAGES EXCLUDABLE DESCRIPTION\n"); + MSG("----------------------------------------------------------------------\n"); MSG("ZERO %-16llu yes Pages filled with zero\n", pfn_zero); MSG("CACHE %-16llu yes Cache pages\n", pfn_cache); @@ -7975,7 +7979,9 @@ print_mem_usage(void) MSG("\n"); + MSG("page size: %-16ld\n", info->page_size); MSG("Total pages on system: %-16llu\n", pfn_original); + MSG("Total size on system: %-16llu Byte\n", total_size); } int @@ -9614,10 +9620,10 @@ main(int argc, char *argv[]) retcd = COMPLETED; out: MSG("\n"); - if (retcd == COMPLETED) - MSG("makedumpfile Completed.\n"); - else + if (retcd != COMPLETED) MSG("makedumpfile Failed.\n"); + else if (!info->flag_mem_usage) + MSG("makedumpfile Completed.\n"); if (info) { if (info->dh_memory) -- 1.8.5.3