makedumpfile-1.2.1: Add virtual memmap support for x86_64 sparsemem kernel.

Ken'ichi Ohmichi oomichi at
Wed Oct 10 03:22:40 EDT 2007


makedumpfile version 1.2.1 is released.
Please test it. Your opinions/comments are welcome.

Explanation of makedumpfile:
  To shorten the size of the dumpfile and the time of creating the
  dumpfile, makedumpfile copies only the necessary pages for analysis
  to the dumpfile from /proc/vmcore. You can specify the kind of
  unnecessary pages with dump_level. If you want to shorten the size
  further, enable the compression of the page data.

o Add virtual memmap support for x86_64 sparsemem kernel.
  On linux-2.6.24, virtual memmap will be implemented, and x86_64
  sparsemem kernel will have "struct page" in virtual memmap area.
  To support virtual memmap, the feature which translates virtual
  address into physical address by 4-levels-paging is added.

o Add the message_level (16) for printing the report message.
   Printing progress indicator(1), common message(2), error message(4),
   and report message(16).

   # makedumpfile --message-level 23 -d 31 -x vmlinux /proc/vmcore dumpfile
   [100 %]
   Original pages  : 0x0000000000137f10
     Excluded pages   : 0x000000000012a9cd
       Pages filled with zero  : 0x0000000000120579
       Cache pages             : 0x00000000000067e2
       Cache pages + private   : 0x00000000000010a3
       User process data pages : 0x000000000000249a
       Free pages              : 0x0000000000000735
     Remaining pages  : 0x000000000000d543
     (The number of pages is reduced to 4%.)
   Memory Hole     : 0x00000000000380f0
   Total pages     : 0x0000000000170000
   The dumpfile is saved to dumpfile.
   makedumpfile Completed.

o Add linux-2.6.23 support because makedumpfile was tested on linux-2.6.23.

o Change the common/debug message output to STDOUT from STDERR if not
  specifying '-F' option, so that users can read the help message easily.
  ('-F' option outputs the dump data to STDOUT for piping it by ssh
  command etc.)

o Some cleanups
  - Rename read_vmcoreinfo_structure() to read_vmcoreinfo_long() because
    the function is used also for the usages other than structures.
  - Cleanup the code for translating virtual address to physical address.

You can download the latest makedumpfile(ver. 1.2.1) from the following URL.
Details of the change are written on the CVS page of the following site.

Method of installation:
  You can compile the makedumpfile command as follows;
  1. "tar -zxvf makedumpfile-1.2.1.tar.gz"
  2. "cd makedumpfile"
  3. "make; make install"

  makedumpfile [-c] [-E] [-d dump_level] [-x vmlinux] dump_mem dump_file

  If you want to exclude pages filled by zero, cache pages, user pages
  and free pages and to enable compression, please execute the following

  # makedumpfile -c -d 31 -x vmlinux /proc/vmcore dumpfile

Ken'ichi Ohmichi

More information about the kexec mailing list