Commit d6100d76 authored by Paul E. McKenney's avatar Paul E. McKenney

torture: Create a "batches" file for build reuse

This commit creates a "batches" file in the res/$ds directory, where $ds
is the datestamp.  This file contains the batches and the number of CPUs,
for example:

1 TREE03 16
1 SRCU-P 8
2 TREE07 16
2 TREE01 8
3 TREE02 8
3 TREE04 8
3 TREE05 8
4 SRCU-N 4
4 TRACE01 4
4 TRACE02 4
4 RUDE01 2
4 RUDE01.2 2
4 TASKS01 2
4 TASKS03 2
4 SRCU-t 1
4 SRCU-u 1
4 TASKS02 1
4 TINY01 1
5 TINY02 1
5 TREE09 1

The first column is the batch number, the second the scenario number
(possibly suffixed by a repetition number, as in "RUDE01.2"), and the
third is the number of CPUs required by that scenario.  The last line
shows the number of CPUs expected by this batch file, which allows
the run to be re-batched if a different number of CPUs is available.
Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent 7ef0d5a3
...@@ -565,6 +565,18 @@ echo 'ret=$?' >> $T/script ...@@ -565,6 +565,18 @@ echo 'ret=$?' >> $T/script
echo "cat $T/kvm-recheck.sh.out | tee -a $resdir/$ds/log" >> $T/script echo "cat $T/kvm-recheck.sh.out | tee -a $resdir/$ds/log" >> $T/script
echo 'exit $ret' >> $T/script echo 'exit $ret' >> $T/script
# Extract the tests and their batches from the script.
egrep 'Start batch|Starting build\.' $T/script | grep -v ">>" |
sed -e 's/:.*$//' -e 's/^echo //' -e 's/-ovf//' |
awk '
/^----Start/ {
batchno = $3;
next;
}
{
print batchno, $1, $2
}' > $T/batches
if test "$dryrun" = script if test "$dryrun" = script
then then
cat $T/script cat $T/script
...@@ -583,21 +595,14 @@ then ...@@ -583,21 +595,14 @@ then
exit 0 exit 0
elif test "$dryrun" = batches elif test "$dryrun" = batches
then then
# Extract the tests and their batches from the script. cat $T/batches
egrep 'Start batch|Starting build\.' $T/script | grep -v ">>" | exit 0
sed -e 's/:.*$//' -e 's/^echo //' -e 's/-ovf//' |
awk '
/^----Start/ {
batchno = $3;
next;
}
{
print batchno, $1, $2
}'
else else
# Not a dryrun, so run the script. # Not a dryrun. Record the batches and the number of CPUs, then run the script.
bash $T/script bash $T/script
ret=$? ret=$?
cp $T/batches $resdir/$ds/batches
echo '#' cpus=$cpus >> $resdir/$ds/batches
echo " --- Done at `date` (`get_starttime_duration $starttime`) exitcode $ret" | tee -a $resdir/$ds/log echo " --- Done at `date` (`get_starttime_duration $starttime`) exitcode $ret" | tee -a $resdir/$ds/log
exit $ret exit $ret
fi fi
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment