[PATCH 00/12][RFC] Increased clocksource validation and cleanups (v2)

From: John Stultz
Date: Thu Jan 22 2015 - 19:09:37 EST


So here's another round for this series, which is the result of
earlier discussions with Linus and his suggestions around
improvements to clocksource validation in the hope we can more
easily catch bad hardware.

There's also a few cleanups Linus suggested as well as a few I've been
meaning to get to for awhile.

I tried in address all the feedback that had been given, adding
the checks behind CONFIG_DEBUG_TIMEKEEPING. I also sorted out a
sane way to print rate-limited warnings if we see cycle deltas that
are too large, or if they look like small underflows.

Let me know what you think. I'm still a bit hesitant to queue
any of this for 3.20 (particularly the last few cleanups), but
if there aren't many more objections I might see if it can
still make it.

thanks
-john

Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Richard Cochran <richardcochran@xxxxxxxxx>
Cc: Prarit Bhargava <prarit@xxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>

John Stultz (12):
clocksource: Simplify clocks_calc_max_nsecs logic
clocksource: Simplify logic around clocksource wrapping saftey margins
clocksource: Remove clocksource_max_deferment()
clocksource: Add max_cycles to clocksource structure
time: Add debugging checks to warn if we see delays
time: Add infrastructure to cap clocksource reads to the max_cycles
value
time: Try to catch clocksource delta underflows
time: Add warnings when overflows or underflows are observed
clocksource: Improve clocksource watchdog reporting
clocksource: Mostly kill clocksource_register()
sparc: Convert to using clocksource_register_hz()
clocksource: Add some debug info about clocksources being registered

arch/s390/kernel/time.c | 2 +-
arch/sparc/kernel/time_32.c | 6 +-
include/linux/clocksource.h | 16 ++++-
kernel/time/clocksource.c | 164 +++++++++++++++++++-------------------------
kernel/time/jiffies.c | 5 +-
kernel/time/sched_clock.c | 6 +-
kernel/time/timekeeping.c | 113 ++++++++++++++++++++++++++----
lib/Kconfig.debug | 12 ++++
8 files changed, 205 insertions(+), 119 deletions(-)

--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/