mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-03 00:54:09 +08:00
torture: Record jitter start/stop commands
Distributed runs of rcutorture will need to start and stop jittering on the remote hosts, which means that the commands must be communicated to those hosts. The commit therefore causes kvm.sh to place these commands in new TORTURE_JITTER_START and TORTURE_JITTER_STOP environment variables to communicate them to the scripts that will set this up. In addition, this commit causes kvm-test-1-run.sh to append these commands to each generated qemu-cmd file, which allows any remotely executing script to extract the needed commands from this file. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
parent
d53f52d6fc
commit
7831b391fb
@ -202,6 +202,8 @@ echo $QEMU $qemu_args -m $TORTURE_QEMU_MEM -kernel $KERNEL -append \"$qemu_appen
|
||||
echo "# TORTURE_SHUTDOWN_GRACE=$TORTURE_SHUTDOWN_GRACE" >> $resdir/qemu-cmd
|
||||
echo "# seconds=$seconds" >> $resdir/qemu-cmd
|
||||
echo "# TORTURE_KCONFIG_GDB_ARG=\"$TORTURE_KCONFIG_GDB_ARG\"" >> $resdir/qemu-cmd
|
||||
echo "# TORTURE_JITTER_START=\"$TORTURE_JITTER_START\"" >> $resdir/qemu-cmd
|
||||
echo "# TORTURE_JITTER_STOP=\"$TORTURE_JITTER_STOP\"" >> $resdir/qemu-cmd
|
||||
|
||||
if test -n "$TORTURE_BUILDONLY"
|
||||
then
|
||||
|
@ -35,6 +35,8 @@ TORTURE_KCONFIG_ARG=""
|
||||
TORTURE_KCONFIG_GDB_ARG=""
|
||||
TORTURE_BOOT_GDB_ARG=""
|
||||
TORTURE_QEMU_GDB_ARG=""
|
||||
TORTURE_JITTER_START=""
|
||||
TORTURE_JITTER_STOP=""
|
||||
TORTURE_KCONFIG_KASAN_ARG=""
|
||||
TORTURE_KCONFIG_KCSAN_ARG=""
|
||||
TORTURE_KMAKE_ARG=""
|
||||
@ -443,6 +445,16 @@ function dump(first, pastlast, batchnum)
|
||||
print "echo ----Start batch " batchnum ": `date` | tee -a " rd "log";
|
||||
print "needqemurun="
|
||||
jn=1
|
||||
njitter = 0;
|
||||
split(jitter, ja);
|
||||
if (ja[1] == -1 && ncpus == 0)
|
||||
njitter = 1;
|
||||
else if (ja[1] == -1)
|
||||
njitter = ncpus;
|
||||
else
|
||||
njitter = ja[1];
|
||||
print "TORTURE_JITTER_START=\". jitterstart.sh " njitter " " rd " " dur " " ja[2] " " ja[3] "\"; export TORTURE_JITTER_START";
|
||||
print "TORTURE_JITTER_STOP=\". jitterstop.sh " rd " \"; export TORTURE_JITTER_STOP"
|
||||
for (j = first; j < pastlast; j++) {
|
||||
cpusr[jn] = cpus[j];
|
||||
if (cfrep[cf[j]] == "") {
|
||||
@ -484,14 +496,6 @@ function dump(first, pastlast, batchnum)
|
||||
print "\tneedqemurun=1"
|
||||
print "fi"
|
||||
}
|
||||
njitter = 0;
|
||||
split(jitter, ja);
|
||||
if (ja[1] == -1 && ncpus == 0)
|
||||
njitter = 1;
|
||||
else if (ja[1] == -1)
|
||||
njitter = ncpus;
|
||||
else
|
||||
njitter = ja[1];
|
||||
if (TORTURE_BUILDONLY && njitter != 0) {
|
||||
njitter = 0;
|
||||
print "echo Build-only run, so suppressing jitter | tee -a " rd "log"
|
||||
@ -502,12 +506,12 @@ function dump(first, pastlast, batchnum)
|
||||
print "if test -n \"$needqemurun\""
|
||||
print "then"
|
||||
print "\techo ---- Starting kernels. `date` | tee -a " rd "log";
|
||||
print "\t. jitterstart.sh " njitter " " rd " " dur " " ja[2] " " ja[3]
|
||||
print "\t$TORTURE_JITTER_START";
|
||||
print "\twhile ls $runfiles > /dev/null 2>&1"
|
||||
print "\tdo"
|
||||
print "\t\t:"
|
||||
print "\tdone"
|
||||
print "\t. jitterstop.sh " rd
|
||||
print "\t$TORTURE_JITTER_STOP";
|
||||
print "\techo ---- All kernel runs complete. `date` | tee -a " rd "log";
|
||||
print "else"
|
||||
print "\twait"
|
||||
|
Loading…
Reference in New Issue
Block a user