mirror of https://gitee.com/openkylin/linux.git
torture: Prevent jitter processes from delaying failed run
Even when the kernel panics and qemu dies, runs with jitter enabled will continue uselessly until the jitter.sh processes terminate. This can be annoying if a planned one-hour run instead dies during boot. This commit therefore kills the jitter.sh processes when the run ends more than one minute prior to the termination time specified by the kvm.sh --duration argument or its default. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
parent
6b74fa0a77
commit
c64659ef29
|
@ -226,6 +226,20 @@ do
|
|||
echo "ps -fp $killpid" >> $resdir/Warnings 2>&1
|
||||
ps -fp $killpid >> $resdir/Warnings 2>&1
|
||||
fi
|
||||
# Reduce probability of PID reuse by allowing a one-minute buffer
|
||||
if test $((kruntime + 60)) -lt $seconds && test -s "$resdir/../jitter_pids"
|
||||
then
|
||||
awk < "$resdir/../jitter_pids" '
|
||||
NF > 0 {
|
||||
pidlist = pidlist " " $1;
|
||||
n++;
|
||||
}
|
||||
END {
|
||||
if (n > 0) {
|
||||
print "kill " pidlist;
|
||||
}
|
||||
}' | sh
|
||||
fi
|
||||
else
|
||||
echo ' ---' `date`: "Kernel done"
|
||||
fi
|
||||
|
|
|
@ -459,8 +459,11 @@ function dump(first, pastlast, batchnum)
|
|||
print "if test -n \"$needqemurun\""
|
||||
print "then"
|
||||
print "\techo ---- Starting kernels. `date` | tee -a " rd "log";
|
||||
for (j = 0; j < njitter; j++)
|
||||
print "\techo > " rd "jitter_pids"
|
||||
for (j = 0; j < njitter; j++) {
|
||||
print "\tjitter.sh " j " " dur " " ja[2] " " ja[3] "&"
|
||||
print "\techo $! >> " rd "jitter_pids"
|
||||
}
|
||||
print "\twait"
|
||||
print "\techo ---- All kernel runs complete. `date` | tee -a " rd "log";
|
||||
print "else"
|
||||
|
|
Loading…
Reference in New Issue