tracing/hwlat: Don't ignore outer-loop duration when calculating max_latency
authorSrivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu>
Thu, 10 Oct 2019 18:51:01 +0000 (11:51 -0700)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Sun, 13 Oct 2019 00:49:33 +0000 (20:49 -0400)
max_latency is intended to record the maximum ever observed hardware
latency, which may occur in either part of the loop (inner/outer). So
we need to also consider the outer-loop sample when updating
max_latency.

Link: http://lkml.kernel.org/r/157073345463.17189.18124025522664682811.stgit@srivatsa-ubuntu
Fixes: e7c15cd8a113 ("tracing: Added hardware latency tracer")
Cc: stable@vger.kernel.org
Signed-off-by: Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/trace_hwlat.c

index a0251a78807dbe4f5b4a7c7aeacb63398fe0bbcf..862f4b0139fcb33bf0902fcd635c9bd6f440522c 100644 (file)
@@ -256,6 +256,8 @@ static int get_sample(void)
                /* Keep a running maximum ever recorded hardware latency */
                if (sample > tr->max_latency)
                        tr->max_latency = sample;
+               if (outer_sample > tr->max_latency)
+                       tr->max_latency = outer_sample;
        }
 
 out: