diff options
author | Carsten Emde <C.Emde@osadl.org> | 2012-07-11 22:05:17 +0000 |
---|---|---|
committer | Steven Rostedt <rostedt@rostedt.homelinux.com> | 2013-09-13 12:33:03 -0400 |
commit | e018f482ff414b6872b6a21018a475d1007c5005 (patch) | |
tree | 0ba14ab0dfb0d54e4437b348c44df482b34ef10d /include | |
parent | e03e0a1d7e8e82c53987b2fcd74f6550844c636c (diff) |
Latency histogramms: Cope with backwards running local trace clock
Thanks to the wonders of modern technology, the local trace clock can
now run backwards. Since this never happened before, the time difference
between now and somewhat earlier was expected to never become negative
and, thus, stored in an unsigned integer variable. Nowadays, we need a
signed integer to ensure that the value is stored as underflow in the
related histogram. (In cases where this is not a misfunction, bipolar
histograms can be used.)
This patch takes care that all latency variables are represented as
signed integers and negative numbers are considered as histogram
underflows.
In one of the misbehaving processors switching to global clock solved
the problem:
echo global >/sys/kernel/debug/tracing/trace_clock
Signed-off-by: Carsten Emde <C.Emde@osadl.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/sched.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 1d9c8a1ca66d..5be568f34e6a 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1589,7 +1589,7 @@ struct task_struct { #ifdef CONFIG_WAKEUP_LATENCY_HIST u64 preempt_timestamp_hist; #ifdef CONFIG_MISSED_TIMER_OFFSETS_HIST - unsigned long timer_offset; + long timer_offset; #endif #endif #endif /* CONFIG_TRACING */ |