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 <[email protected]>
---
 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



_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to