torture: Grace periods do not piggyback off of themselves
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 31 Jan 2018 07:12:27 +0000 (23:12 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 21 Feb 2018 00:22:01 +0000 (16:22 -0800)
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@linux.vnet.ibm.com>
tools/testing/selftests/rcutorture/bin/kvm-recheck-rcuperf-ftrace.sh

index dffb553a7bccccdb8bd4da574496a17bab5c9aba..8948f7926b21f14defd13cbe0e050e7b3a6a7c00 100755 (executable)
@@ -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]++;
 }