I choose dump level 32 for free page filtering looking up mem_map array. But I don't mean this is the final version now, I mean experimental use for RFC, only. I prefer the setting that this logic looking up mem_map array is automatically used if dump level 16 and --cyclic option are specified at the same time. Signed-off-by: HATAYAMA Daisuke <d.hatayama at jp.fujitsu.com> --- makedumpfile.c | 3 ++- makedumpfile.h | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/makedumpfile.c b/makedumpfile.c index bed74df..d1eded0 100644 --- a/makedumpfile.c +++ b/makedumpfile.c @@ -3853,7 +3853,8 @@ create_2nd_bitmap(void) */ if (info->dump_level & DL_EXCLUDE_CACHE || info->dump_level & DL_EXCLUDE_CACHE_PRI || - info->dump_level & DL_EXCLUDE_USER_DATA) { + info->dump_level & DL_EXCLUDE_USER_DATA || + info->dump_level & DL_EXCLUDE_FREE_CONST) { if (!exclude_unnecessary_pages()) { ERRMSG("Can't exclude unnecessary pages.\n"); return FALSE; diff --git a/makedumpfile.h b/makedumpfile.h index 3059a9e..404f00e 100644 --- a/makedumpfile.h +++ b/makedumpfile.h @@ -146,7 +146,7 @@ isAnon(unsigned long mapping) * Dump Level */ #define MIN_DUMP_LEVEL (0) -#define MAX_DUMP_LEVEL (31) +#define MAX_DUMP_LEVEL (63) #define NUM_ARRAY_DUMP_LEVEL (MAX_DUMP_LEVEL + 1) /* enough to allocate all the dump_level */ #define DL_EXCLUDE_ZERO (0x001) /* Exclude Pages filled with Zeros */ @@ -156,6 +156,8 @@ isAnon(unsigned long mapping) with Private Pages */ #define DL_EXCLUDE_USER_DATA (0x008) /* Exclude UserProcessData Pages */ #define DL_EXCLUDE_FREE (0x010) /* Exclude Free Pages */ +#define DL_EXCLUDE_FREE_CONST (0x020) /* Exclude Free Pages looking + up mem_map */ /*