On 08/25/15 at 12:51pm, 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(a)cn.fujitsu.com>
---
kdumpctl | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/kdumpctl b/kdumpctl
index b504734..a4b4681 100755
--- a/kdumpctl
+++ b/kdumpctl
@@ -259,6 +259,22 @@ check_config()
esac
done < $KDUMP_CONFIG_FILE
+ grep -v "^#" $KDUMP_CONFIG_FILE | grep -q "num-threads"
This filter cannot handle the all of the corner cases, like the
following.
# grep -v "^#" /etc/kdump.conf | grep "num-threads"
ext4 /dev/mapper/num-threads
So it is better to use the exact regular expression to filter out the
string. Maybe you can use $core_collector to filter out the string
--num_threads.
+ if [ $? -eq 0 ];then
+ local nr_cpus=1
+ local num_threads=0
+ local core_collector=`grep -v "^#" $KDUMP_CONFIG_FILE | grep
"^core_collector"`
+
+ num_threads=`echo ${core_collector#*--num-threads} | awk '{print $1}'`
+ nr_cpus=`echo ${KDUMP_COMMANDLINE_APPEND#*nr_cpus=} | awk '{print $1}'`
+
+ test $num_threads -ge $nr_cpus &> /dev/null
+ if [ $? -eq 0 ];then
To keep the style, it is better to use "if [ $a -ge $b ]".
Thanks
Minfei