[PATCH v2 5/5] Add support for --splitblock-size

Atsushi Kumagai kumagai-atsushi at mxc.nes.nec.co.jp
Tue Oct 28 00:28:47 PDT 2014


>> Use --splitblock-size to specify splitblock size (KB)
>> When --split is specified in cyclic mode,splitblock table will be
>> generated in create_dump_bitmap().
>>
>> Signed-off-by: Qiao Nuohan <qiaonuohan at cn.fujitsu.com>
>> Signed-off-by: Zhou Wenjian <zhouwj-fnst at cn.fujitsu.com>
>> ---
>>  makedumpfile.8 |   16 ++++++++++++++++
>>  makedumpfile.c |    4 ++++
>>  makedumpfile.h |    1 +
>>  print_info.c   |   16 +++++++++++++++-
>>  4 files changed, 36 insertions(+), 1 deletions(-)
>>
>> diff --git a/makedumpfile.8 b/makedumpfile.8
>> index 9cb12c0..a5b7055 100644
>> --- a/makedumpfile.8
>> +++ b/makedumpfile.8
>> @@ -386,6 +386,22 @@ size, so ordinary users don't need to specify this option.
>>  # makedumpfile \-\-cyclic\-buffer 1024 \-d 31 \-x vmlinux /proc/vmcore dumpfile
>>
>>  .TP
>> +\fB\-\-splitblock\-size\fR \fIsplitblock_size\fR
>> +Specify the splitblock size in kilo bytes for analysis in the cyclic mode with --split.
>> +In the cyclic split mode, the number of splitblocks is represented as:
>> +
>> +    num_of_splitblocks = system_memory / (\fIsplitblock_size\fR * 1KB )
>> +
>
>For what people do you want to show this expression? It would be hard
>for ordinary users to understand this expression. I think at least the
>following explanation is necessary; and more detailed information is
>verbose.
>
>  If --splitblock N is specified, difference of each splitted dumpfile
>  size is at most N kilo bytes.
>
>> +The larger number of splitblock, the faster working speed is expected, but the more memory will
>> +be taken. By default, \fIsplitblock_size\fR will be set as 1GB, so ordinary users don't need to
>> +specify this option.
>> +
>> +.br
>> +.B Example:
>> +.br
>> +# makedumpfile \-\-splitblock\-size 10240 \-d 31 \-x vmlinux \-\-split /proc/vmcore dumpfile1 dumpfile2
>> +
>> +.TP
>>  \fB\-\-non\-cyclic\fR
>>  Running in the non-cyclic mode, this mode uses the old filtering logic same as v1.4.4 or before.
>>  If you feel the cyclic mode is too slow, please try this mode.
>> diff --git a/makedumpfile.c b/makedumpfile.c
>> index 32c0919..112f2e4 100644
>> --- a/makedumpfile.c
>> +++ b/makedumpfile.c
>> @@ -9578,6 +9578,7 @@ static struct option longopts[] = {
>>  	{"eppic", required_argument, NULL, OPT_EPPIC},
>>  	{"non-mmap", no_argument, NULL, OPT_NON_MMAP},
>>  	{"mem-usage", no_argument, NULL, OPT_MEM_USAGE},
>> +	{"splitblock-size", required_argument, NULL, OPT_SPLITBLOCK_SIZE},
>>  	{0, 0, 0, 0}
>>  };
>>
>> @@ -9718,6 +9719,9 @@ main(int argc, char *argv[])
>>  		case OPT_CYCLIC_BUFFER:
>>  			info->bufsize_cyclic = atoi(optarg);
>>  			break;
>> +		case OPT_SPLITBLOCK_SIZE:
>> +			info->splitblock_size = atoi(optarg);
>> +			break;
>>  		case '?':
>>  			MSG("Commandline parameter is invalid.\n");
>>  			MSG("Try `makedumpfile --help' for more information.\n");
>> diff --git a/makedumpfile.h b/makedumpfile.h
>> index 60e6f2f..7bc57d9 100644
>> --- a/makedumpfile.h
>> +++ b/makedumpfile.h
>> @@ -1883,6 +1883,7 @@ struct elf_prstatus {
>>  #define OPT_EPPIC               OPT_START+12
>>  #define OPT_NON_MMAP            OPT_START+13
>>  #define OPT_MEM_USAGE            OPT_START+14
>> +#define OPT_SPLITBLOCK_SIZE		OPT_START+15
>>
>>  /*
>>   * Function Prototype.
>> diff --git a/print_info.c b/print_info.c
>> index f6342d3..2cdffd8 100644
>> --- a/print_info.c
>> +++ b/print_info.c
>> @@ -203,7 +203,21 @@ print_usage(void)
>>  	MSG("      By default, BUFFER_SIZE will be calculated automatically depending on\n");
>>  	MSG("      system memory size, so ordinary users don't need to specify this option.\n");
>>  	MSG("\n");
>> -	MSG("  [--non-cyclic]:\n");
>> +	MSG("  [--splitblock-size SPLITBLOCK_SIZE]:\n");
>> +	MSG("      Specify the splitblock size in kilo bytes for analysis in the cyclic mode\n");
>> +	MSG("      with --split.\n");
>> +	MSG("      In the cyclic mode, the number of splitblocks is represented as:\n");
>> +	MSG("\n");
>> +	MSG("          num_of_splitblocks = system_memory / (splitblock_size * 1KB)\n");
>
>Just the same as the above comment.
>
>> +	MSG("\n");
>> +	MSG("	   The larger number of splitblock, the faster working speed is expected, but\n");
>> +	MSG("	   the more memory will be taken. By default, splitblock_size will be set as\n");
>> +	MSG("	   1GB, so ordinary users don't need to specify this option.\n");
>> +	MSG("\n");
>> +	MSG("      The lesser number of cycles, the faster working speed is expected.\n");
>> +	MSG("      By default, BUFFER_SIZE will be calculated automatically depending on\n");
>> +	MSG("      system memory size, so ordinary users don't need to specify this option.\n");

In addition, the last segment is a duplicate of --cyclic-buffer's.


Thanks,
Atsushi Kumagai

>> +	MSG("\n");	MSG("  [--non-cyclic]:\n");
>>  	MSG("      Running in the non-cyclic mode, this mode uses the old filtering logic\n");
>>  	MSG("      same as v1.4.4 or before.\n");
>>  	MSG("      If you feel the cyclic mode is too slow, please try this mode.\n");
>> --
>> 1.7.1
>>
>>
>> _______________________________________________
>> kexec mailing list
>> kexec at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/kexec
>--
>Thanks.
>HATAYAMA, Daisuke
>
>
>_______________________________________________
>kexec mailing list
>kexec at lists.infradead.org
>http://lists.infradead.org/mailman/listinfo/kexec



More information about the kexec mailing list