summary refs log tree commit diff
path: root/kernel/trace/trace_hwlat.c
diff options
context:
space:
mode:
authorSrivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu>2019-10-10 11:50:46 -0700
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2019-10-12 20:49:33 -0400
commit98dc19c11470ee6048aba723d77079ad2cda8a52 (patch)
treeb01c58de6fd199e0f72ccedf78f80e9ebc06e684 /kernel/trace/trace_hwlat.c
parent7f8557b88d6aa5bf31f25f6013d81355a1b1d48d (diff)
downloadlinux-98dc19c11470ee6048aba723d77079ad2cda8a52.tar.gz
tracing/hwlat: Report total time spent in all NMIs during the sample
nmi_total_ts is supposed to record the total time spent in *all* NMIs
that occur on the given CPU during the (active portion of the)
sampling window. However, the code seems to be overwriting this
variable for each NMI, thereby only recording the time spent in the
most recent NMI. Fix it by accumulating the duration instead.

Link: http://lkml.kernel.org/r/157073343544.17189.13911783866738671133.stgit@srivatsa-ubuntu

Fixes: 7b2c86250122 ("tracing: Add NMI tracing in hwlat detector")
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>
Diffstat (limited to 'kernel/trace/trace_hwlat.c')
-rw-r--r--kernel/trace/trace_hwlat.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/trace/trace_hwlat.c b/kernel/trace/trace_hwlat.c
index fa95139445b2..a0251a78807d 100644
--- a/kernel/trace/trace_hwlat.c
+++ b/kernel/trace/trace_hwlat.c
@@ -150,7 +150,7 @@ void trace_hwlat_callback(bool enter)
 		if (enter)
 			nmi_ts_start = time_get();
 		else
-			nmi_total_ts = time_get() - nmi_ts_start;
+			nmi_total_ts += time_get() - nmi_ts_start;
 	}
 
 	if (enter)