]> git.baikalelectronics.ru Git - kernel.git/commit
timekeeping: Add debugging checks to warn if we see delays
authorJohn Stultz <john.stultz@linaro.org>
Thu, 12 Mar 2015 04:16:32 +0000 (21:16 -0700)
committerIngo Molnar <mingo@kernel.org>
Fri, 13 Mar 2015 07:06:58 +0000 (08:06 +0100)
commitc8cc3e32d144033abaf3d3f81ecc7786234a7db5
tree9d47ff591a06ab8ed93df330b01964da3fbff8d7
parenta3b2fc769a9ef2fa39475f9c39481c7275572729
timekeeping: Add debugging checks to warn if we see delays

Recently there's been requests for better sanity
checking in the time code, so that it's more clear
when something is going wrong, since timekeeping issues
could manifest in a large number of strange ways in
various subsystems.

Thus, this patch adds some extra infrastructure to
add a check to update_wall_time() to print two new
warnings:

 1) if we see the call delayed beyond the 'max_cycles'
    overflow point,

 2) or if we see the call delayed beyond the clocksource's
    'max_idle_ns' value, which is currently 50% of the
    overflow point.

This extra infrastructure is conditional on
a new CONFIG_DEBUG_TIMEKEEPING option, also
added in this patch - default off.

Tested this a bit by halting qemu for specified
lengths of time to trigger the warnings.

Signed-off-by: John Stultz <john.stultz@linaro.org>
Cc: Dave Jones <davej@codemonkey.org.uk>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1426133800-29329-5-git-send-email-john.stultz@linaro.org
[ Improved the changelog and the messages a bit. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/time/jiffies.c
kernel/time/timekeeping.c
lib/Kconfig.debug