[PATCH 8/9] rcutorture: Simplify logging

2017-11-03 Thread SeongJae Park
'kvm.sh' and 'kvm-test-1-run.sh' log messages by printing the message to
'stdout' then writing it into the log file.  Generation of the message
occurs twice once for 'stdout', and once for log file.  It is redundant.
Moreover, many of the messages are containing 'date' output inside the
messages.  Because the 'date' calculation also be called twice (once for
stdout print, once for log file write), the date information in stdout
and log file can be different.  It could confuse some sensitive mind
people.

This commit simplifies the logging procedure by using 'tee'.

Signed-off-by: SeongJae Park 
---
 .../selftests/rcutorture/bin/kvm-test-1-run.sh |  4 +--
 tools/testing/selftests/rcutorture/bin/kvm.sh  | 32 --
 2 files changed, 12 insertions(+), 24 deletions(-)

diff --git a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh 
b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
index 0af36a721b9c..2678a9d0733d 100755
--- a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
+++ b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
@@ -154,9 +154,7 @@ cpu_count=`configfrag_boot_cpus "$boot_args" 
"$config_template" "$cpu_count"`
 vcpus=`identify_qemu_vcpus`
 if test $cpu_count -gt $vcpus
 then
-   echo CPU count limited from $cpu_count to $vcpus
-   touch $resdir/Warnings
-   echo CPU count limited from $cpu_count to $vcpus >> $resdir/Warnings
+   echo CPU count limited from $cpu_count to $vcpus | tee -a 
$resdir/Warnings
cpu_count=$vcpus
 fi
 qemu_args="`specify_qemu_cpus "$QEMU" "$qemu_args" "$cpu_count"`"
diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh 
b/tools/testing/selftests/rcutorture/bin/kvm.sh
index cd62933e33d7..a7bbe2dc8791 100755
--- a/tools/testing/selftests/rcutorture/bin/kvm.sh
+++ b/tools/testing/selftests/rcutorture/bin/kvm.sh
@@ -331,8 +331,7 @@ awk < $T/cfgcpu.pack \
 # Dump out the scripting required to run one test batch.
 function dump(first, pastlast, batchnum)
 {
-   print "echo Start batch " batchnum ": `date`";
-   print "echo Start batch " batchnum ": `date` >> " rd "/log";
+   print "echo Start batch " batchnum ": `date` | tee -a " rd "log";
print "needqemurun="
jn=1
for (j = first; j < pastlast; j++) {
@@ -349,21 +348,18 @@ function dump(first, pastlast, batchnum)
ovf = "-ovf";
else
ovf = "";
-   print "echo ", cfr[jn], cpusr[jn] ovf ": Starting build. 
`date`";
-   print "echo ", cfr[jn], cpusr[jn] ovf ": Starting build. `date` 
>> " rd "/log";
+   print "echo ", cfr[jn], cpusr[jn] ovf ": Starting build. `date` 
| tee -a " rd "log";
print "rm -f " builddir ".*";
print "touch " builddir ".wait";
print "mkdir " builddir " > /dev/null 2>&1 || :";
print "mkdir " rd cfr[jn] " || :";
print "kvm-test-1-run.sh " CONFIGDIR cf[j], builddir, rd 
cfr[jn], dur " \"" TORTURE_QEMU_ARG "\" \"" TORTURE_BOOTARGS "\" > " rd cfr[jn] 
 "/kvm-test-1-run.sh.out 2>&1 &"
-   print "echo ", cfr[jn], cpusr[jn] ovf ": Waiting for build to 
complete. `date`";
-   print "echo ", cfr[jn], cpusr[jn] ovf ": Waiting for build to 
complete. `date` >> " rd "/log";
+   print "echo ", cfr[jn], cpusr[jn] ovf ": Waiting for build to 
complete. `date` | tee -a " rd "log";
print "while test -f " builddir ".wait"
print "do"
print "\tsleep 1"
print "done"
-   print "echo ", cfr[jn], cpusr[jn] ovf ": Build complete. 
`date`";
-   print "echo ", cfr[jn], cpusr[jn] ovf ": Build complete. `date` 
>> " rd "/log";
+   print "echo ", cfr[jn], cpusr[jn] ovf ": Build complete. `date` 
| tee -a " rd "log";
jn++;
}
for (j = 1; j < jn; j++) {
@@ -371,8 +367,7 @@ function dump(first, pastlast, batchnum)
print "rm -f " builddir ".ready"
print "if test -f \"" rd cfr[j] "/builtkernel\""
print "then"
-   print "\techo ", cfr[j], cpusr[j] ovf ": Kernel present. 
`date`";
-   print "\techo ", cfr[j], cpusr[j] ovf ": Kernel present. 
`date` >> " rd "/log";
+   print "\techo ", cfr[j], cpusr[j] ovf ": Kernel present. 
`date` | tee -a " rd "log";
print "\tneedqemurun=1"
print "fi"
}
@@ -386,31 +381,26 @@ function dump(first, pastlast, batchnum)
njitter = ja[1];
if (TORTURE_BUILDONLY && njitter != 0) {
njitter = 0;
-   print "echo Build-only run, so suppressing jitter >> " rd "/log"
+   print "echo Build-only run, so suppressing jitter | tee -a " rd 
"log"
}
if (TORTURE_BUILDONLY) {
print "needqemurun="
}

[PATCH 8/9] rcutorture: Simplify logging

2017-11-03 Thread SeongJae Park
'kvm.sh' and 'kvm-test-1-run.sh' log messages by printing the message to
'stdout' then writing it into the log file.  Generation of the message
occurs twice once for 'stdout', and once for log file.  It is redundant.
Moreover, many of the messages are containing 'date' output inside the
messages.  Because the 'date' calculation also be called twice (once for
stdout print, once for log file write), the date information in stdout
and log file can be different.  It could confuse some sensitive mind
people.

This commit simplifies the logging procedure by using 'tee'.

Signed-off-by: SeongJae Park 
---
 .../selftests/rcutorture/bin/kvm-test-1-run.sh |  4 +--
 tools/testing/selftests/rcutorture/bin/kvm.sh  | 32 --
 2 files changed, 12 insertions(+), 24 deletions(-)

diff --git a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh 
b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
index 0af36a721b9c..2678a9d0733d 100755
--- a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
+++ b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
@@ -154,9 +154,7 @@ cpu_count=`configfrag_boot_cpus "$boot_args" 
"$config_template" "$cpu_count"`
 vcpus=`identify_qemu_vcpus`
 if test $cpu_count -gt $vcpus
 then
-   echo CPU count limited from $cpu_count to $vcpus
-   touch $resdir/Warnings
-   echo CPU count limited from $cpu_count to $vcpus >> $resdir/Warnings
+   echo CPU count limited from $cpu_count to $vcpus | tee -a 
$resdir/Warnings
cpu_count=$vcpus
 fi
 qemu_args="`specify_qemu_cpus "$QEMU" "$qemu_args" "$cpu_count"`"
diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh 
b/tools/testing/selftests/rcutorture/bin/kvm.sh
index cd62933e33d7..a7bbe2dc8791 100755
--- a/tools/testing/selftests/rcutorture/bin/kvm.sh
+++ b/tools/testing/selftests/rcutorture/bin/kvm.sh
@@ -331,8 +331,7 @@ awk < $T/cfgcpu.pack \
 # Dump out the scripting required to run one test batch.
 function dump(first, pastlast, batchnum)
 {
-   print "echo Start batch " batchnum ": `date`";
-   print "echo Start batch " batchnum ": `date` >> " rd "/log";
+   print "echo Start batch " batchnum ": `date` | tee -a " rd "log";
print "needqemurun="
jn=1
for (j = first; j < pastlast; j++) {
@@ -349,21 +348,18 @@ function dump(first, pastlast, batchnum)
ovf = "-ovf";
else
ovf = "";
-   print "echo ", cfr[jn], cpusr[jn] ovf ": Starting build. 
`date`";
-   print "echo ", cfr[jn], cpusr[jn] ovf ": Starting build. `date` 
>> " rd "/log";
+   print "echo ", cfr[jn], cpusr[jn] ovf ": Starting build. `date` 
| tee -a " rd "log";
print "rm -f " builddir ".*";
print "touch " builddir ".wait";
print "mkdir " builddir " > /dev/null 2>&1 || :";
print "mkdir " rd cfr[jn] " || :";
print "kvm-test-1-run.sh " CONFIGDIR cf[j], builddir, rd 
cfr[jn], dur " \"" TORTURE_QEMU_ARG "\" \"" TORTURE_BOOTARGS "\" > " rd cfr[jn] 
 "/kvm-test-1-run.sh.out 2>&1 &"
-   print "echo ", cfr[jn], cpusr[jn] ovf ": Waiting for build to 
complete. `date`";
-   print "echo ", cfr[jn], cpusr[jn] ovf ": Waiting for build to 
complete. `date` >> " rd "/log";
+   print "echo ", cfr[jn], cpusr[jn] ovf ": Waiting for build to 
complete. `date` | tee -a " rd "log";
print "while test -f " builddir ".wait"
print "do"
print "\tsleep 1"
print "done"
-   print "echo ", cfr[jn], cpusr[jn] ovf ": Build complete. 
`date`";
-   print "echo ", cfr[jn], cpusr[jn] ovf ": Build complete. `date` 
>> " rd "/log";
+   print "echo ", cfr[jn], cpusr[jn] ovf ": Build complete. `date` 
| tee -a " rd "log";
jn++;
}
for (j = 1; j < jn; j++) {
@@ -371,8 +367,7 @@ function dump(first, pastlast, batchnum)
print "rm -f " builddir ".ready"
print "if test -f \"" rd cfr[j] "/builtkernel\""
print "then"
-   print "\techo ", cfr[j], cpusr[j] ovf ": Kernel present. 
`date`";
-   print "\techo ", cfr[j], cpusr[j] ovf ": Kernel present. 
`date` >> " rd "/log";
+   print "\techo ", cfr[j], cpusr[j] ovf ": Kernel present. 
`date` | tee -a " rd "log";
print "\tneedqemurun=1"
print "fi"
}
@@ -386,31 +381,26 @@ function dump(first, pastlast, batchnum)
njitter = ja[1];
if (TORTURE_BUILDONLY && njitter != 0) {
njitter = 0;
-   print "echo Build-only run, so suppressing jitter >> " rd "/log"
+   print "echo Build-only run, so suppressing jitter | tee -a " rd 
"log"
}
if (TORTURE_BUILDONLY) {
print "needqemurun="
}
print "if test -n