All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@kernel.org>
To: rcu@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, kernel-team@fb.com,
	mingo@kernel.org, jiangshanlai@gmail.com,
	akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
	josh@joshtriplett.org, tglx@linutronix.de, peterz@infradead.org,
	rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com,
	fweisbec@gmail.com, oleg@redhat.com, joel@joelfernandes.org,
	"Paul E. McKenney" <paulmck@kernel.org>
Subject: [PATCH rcu 21/21] torture: Make kvm-test-1-run-qemu.sh check for reboot loops
Date: Wed, 21 Jul 2021 14:01:40 -0700	[thread overview]
Message-ID: <20210721210140.787717-21-paulmck@kernel.org> (raw)
In-Reply-To: <20210721205511.GA786917@paulmck-ThinkPad-P17-Gen-1>

It turns out that certain types of early boot bugs can result in reboot
loops, even within a guest OS running under qemu/KVM.  This commit
therefore upgrades the kvm-test-1-run-qemu.sh script's hang-detection
heuristics to detect such situations and to terminate the run when
they occur.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 .../testing/selftests/rcutorture/bin/kvm-test-1-run-qemu.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run-qemu.sh b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run-qemu.sh
index b41252033fac0..44280582c594e 100755
--- a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run-qemu.sh
+++ b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run-qemu.sh
@@ -159,9 +159,13 @@ then
 		then
 			last_ts=0
 		fi
-		if test "$newline" != "$oldline" && test "$last_ts" -lt $((seconds + $TORTURE_SHUTDOWN_GRACE))
+		if test "$newline" != "$oldline" && test "$last_ts" -lt $((seconds + $TORTURE_SHUTDOWN_GRACE)) && test "$last_ts" -gt "$TORTURE_SHUTDOWN_GRACE"
 		then
 			must_continue=yes
+			if test $kruntime -ge $((seconds + $TORTURE_SHUTDOWN_GRACE))
+			then
+				echo Continuing at console.log time $last_ts \"`tail -n 1 $resdir/console.log`\" `date`
+			fi
 		fi
 		if test $must_continue = no && test $kruntime -ge $((seconds + $TORTURE_SHUTDOWN_GRACE))
 		then
-- 
2.31.1.189.g2e36527f23


      parent reply	other threads:[~2021-07-21 21:02 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-21 20:55 [PATCH rcu 0/21] Torture-test scripting updates for v5.15 Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 01/21] torture: Add clocksource-watchdog testing to torture.sh Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 02/21] torture: Make torture.sh accept --do-all and --donone Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 03/21] torture: Enable KCSAN summaries over groups of torture-test runs Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 04/21] torture: Create KCSAN summaries for torture.sh runs Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 05/21] torture: Make kvm-recheck-scf.sh tolerate qemu-cmd comments Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 06/21] torture: Make kvm-recheck-lock.sh " Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 07/21] torture: Log more kvm-remote.sh information Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 08/21] torture: Protect kvm-remote.sh directory trees from /tmp reaping Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 09/21] torture: Make kvm-recheck.sh skip kcsan.sum for build-only runs Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 10/21] torture: Move parse-console.sh call to PATH-aware scripts Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 11/21] torture: Put kvm.sh batch-creation awk script into a temp file Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 12/21] torture: Make kvm.sh select per-scenario affinity masks Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 13/21] torture: Don't redirect qemu-cmd comment lines Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 14/21] torture: Make kvm-test-1-run-qemu.sh apply affinity Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 15/21] rcutorture: Upgrade two-CPU scenarios to four CPUs Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 16/21] torture: Use numeric taskset argument in jitter.sh Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 17/21] torture: Consistently name "qemu*" test output files Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 18/21] torture: Make kvm-test-1-run-batch.sh select per-scenario affinity masks Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 19/21] torture: Don't use "test" command's "-a" argument Paul E. McKenney
2021-07-21 21:01 ` [PATCH rcu 20/21] torture: Add timestamps to kvm-test-1-run-qemu.sh output Paul E. McKenney
2021-07-21 21:01 ` Paul E. McKenney [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210721210140.787717-21-paulmck@kernel.org \
    --to=paulmck@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=dhowells@redhat.com \
    --cc=edumazet@google.com \
    --cc=fweisbec@gmail.com \
    --cc=jiangshanlai@gmail.com \
    --cc=joel@joelfernandes.org \
    --cc=josh@joshtriplett.org \
    --cc=kernel-team@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mingo@kernel.org \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rcu@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.