[PATCH tip/core/rcu 11/12] torture: Grace periods do not piggyback off of themselves

From: Paul E. McKenney
Date: Mon Feb 26 2018 - 17:02:38 EST


The rcuperf trace-event processing counted every "done" trace event
as a piggyback, which is incorrect because the task that started the
grace period didn't piggyback at all. This commit fixes this problem
by recording the task that started a given grace period and ignoring
that task's "done" record for that grace period.

Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
---
tools/testing/selftests/rcutorture/bin/kvm-recheck-rcuperf-ftrace.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcuperf-ftrace.sh b/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcuperf-ftrace.sh
index dffb553a7bcc..8948f7926b21 100755
--- a/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcuperf-ftrace.sh
+++ b/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcuperf-ftrace.sh
@@ -44,6 +44,7 @@ $8 == "start" {
starttask = $1;
starttime = $3;
startseq = $7;
+ seqtask[startseq] = starttask;
}

$8 == "end" {
@@ -62,7 +63,7 @@ $8 == "end" {
}
}

-$8 == "done" {
+$8 == "done" && seqtask[$7] != $1 {
piggybackcnt[$1]++;
}

--
2.5.2