[PATCH v2] Add checking num-threads of makedumpfile

"Zhou, Wenjian/周文剑" zhouwj-fnst at cn.fujitsu.com
Wed Aug 26 01:42:51 UTC 2015


On 08/25/2015 07:44 PM, Minfei Huang wrote:
> Hi. Wenjian.
>
> Thougt deeply about this patch, I have following concerns.
>
> Without this patch, do you have any testing about the performance
> degradation, if num_threads is larger than real cpu number?
>

Yes, of course. I can show you some test results.

without num-threads: 9.5s
num-threads 2:       6.2s
num-threads 3:       56.7s
num-threads 4:       3m23s
num-threads 5:       3m43s
num-threads 6:       4m51s

> Is it proper to do the checking in kdumpctl, since kdump takes more
> care of setuping 2nd kernel, not the blendings of makedumpfile.
>

I think there is no problem.
It's not only the setting of makedumpfile, but also the setting of
KDUMP_COMMANDLINE_APPEND.

And it is surely that it can't be done by makedumpfile.

-- 
Thanks
Zhou
>
> On 08/25/15 at 04:43pm, Zhou Wenjian wrote:
>> A new feature that doing compressing and writing by multi-threads
>> has been added in makedumpfile. The thread num is specified by
>> "--num-threads NUM". According to its implementation, there will
>> be performance degradation if the threads are more than cpus.
>> So we should check it.
>>
>> Signed-off-by: Zhou wenjian <zhouwj-fnst at cn.fujitsu.com>
>> ---
>>   kdumpctl |   15 +++++++++++++++
>>   1 files changed, 15 insertions(+), 0 deletions(-)
>>
>> diff --git a/kdumpctl b/kdumpctl
>> index b504734..fd2abe4 100755
>> --- a/kdumpctl
>> +++ b/kdumpctl
>> @@ -259,6 +259,21 @@ check_config()
>>   		esac
>>   	done < $KDUMP_CONFIG_FILE
>>
>> +	grep "^core_collector.*makedumpfile" $KDUMP_CONFIG_FILE | grep -q "num-threads"
>> +	if [ $? -eq 0 ];then
>> +		local nr_cpus=1
>> +		local num_threads=0
>> +		local core_collector=`grep "^core_collector" $KDUMP_CONFIG_FILE`
>> +
>> +		num_threads=`echo ${core_collector#*--num-threads} | awk '{print $1}'`
>> +		nr_cpus=`echo ${KDUMP_COMMANDLINE_APPEND#*nr_cpus=} | awk '{print $1}'`
>> +
>> +		if [ $num_threads -ge $nr_cpus ];then
>> +			echo "The num_threads:$num_threads(specified in /etc/kdump.conf) should be less than nr_cpus:$nr_cpus(specified in /etc/sysconfig/kdump)"
>> +			echo "or makedumpfile may have bad performance!"
>> +		fi
>> +	fi
>> +
>>   	check_fence_kdump_config || return 1
>>
>>   	return 0
>> --
>> 1.7.1
>>
>> _______________________________________________
>> kexec mailing list
>> kexec at lists.fedoraproject.org
>> https://lists.fedoraproject.org/mailman/listinfo/kexec


More information about the kexec mailing list