[PATCH 0/13] makedumpfile: Avoid two pass filtering by using bitmap file.

Atsushi Kumagai ats-kumagai at wm.jp.nec.com
Sun May 10 23:13:51 PDT 2015


Hello,

This is the patch set to avoid two pass filtering, it is the
finished version of the previous patch set below:

  http://lists.infradead.org/pipermail/kexec/2015-March/013497.html


cyclic mode has to take a two-pass approach for filtering to save on the
memory consumption, it's a disadvantage of the cyclic mode and it's basically
unavoidable. However, even the cyclic mode can avoid two-pass filtering if free
memory space is enough to store the whole 1st and 2nd bitmaps, but the current
version doesn't it.
The main purpose of this patch set is avoiding that useless filtering,
but before that, I merged non-cyclic mode into cyclic mode as code clean up 
because the codes are almost the same. Instead, I introduce another way to
guarantee one-pass filtering by using disk space.


MAJOR CHANGES

1. Introduce --work-dir option instead of --non-cyclic

  --non-cyclic option were used to choose the non-cyclic mode, it realizes
  one-pass filtering by creating a temporary bitmap file on TMPDIR.
  The new option "--work-dir" is used to specify a working directory
  to store the bitmap file, so this is the alternative to the combination of
  --non-cyclic and TMPDIR.

2. Remove extra page filtering

  If free memory space is enough to store the whole 1st and 2nd bitmaps
  (or --work-dir is specified), page filtering and creating bitmaps are
  done only once before writing process. Otherwise the bitmaps are created
  twice; to decide the offset of the page header region, and for actual
  page writing process, as usual.

INTERNAL CHANGE

  info->flag_cyclic indicated whether the internal mode is cyclic or non-cyclic.
  Now, since the two modes are merged, the flag means that filtering process will
  take multi cycles, i.e. it has to take a two-pass approach.


Atsushi Kumagai (13):
  Organize bitmap structure for cyclic logic.
  Add option to specify working directory for the bitmap.
  Integrate the entry point of is_dumpable().
  Integrate the main logic of writing kdump file.
  Communalize the function for creating 1st bitmap.
  Remove the old logic of writing kdump pages.
  Integrate filtering process for ELF path.
  Remove the old logic of writing ELF pages.
  Adjust --mem-usage path to the new code.
  Adjust --split/--reassemble path to the new code.
  Adjust refiltering path to the new code.
  Adjust sadump path to the new code.
  Remove --non-cyclic option.

 README         |   16 -
 makedumpfile.8 |   32 +-
 makedumpfile.c | 1624 ++++++++++++++++++--------------------------------------
 makedumpfile.h |   41 +-
 print_info.c   |   23 +-
 sadump_info.c  |    8 +-
 6 files changed, 588 insertions(+), 1156 deletions(-)

--
1.9.0



More information about the kexec mailing list