From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754665AbbCGCuR (ORCPT ); Fri, 6 Mar 2015 21:50:17 -0500 Received: from mail-pa0-f47.google.com ([209.85.220.47]:40667 "EHLO mail-pa0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754540AbbCGCuO (ORCPT ); Fri, 6 Mar 2015 21:50:14 -0500 From: John Stultz To: lkml Cc: John Stultz , Dave Jones , Linus Torvalds , Thomas Gleixner , Richard Cochran , Prarit Bhargava , Stephen Boyd , Ingo Molnar , Peter Zijlstra Subject: [PATCH 00/12] Increased clocksource validation and cleanups (v3) Date: Fri, 6 Mar 2015 18:49:51 -0800 Message-Id: <1425696603-16878-1-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org So Ingo asked me to resend 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. I'd like to get this queued into -tip soon so it can get as much testing in -next as possible. If there are any objections or feedback, I'd love to hear it! New in v3: * Its been awhile since v2, and I don't recall any substantial changes, but I did change a function macro into a static inline per PeterZ's request. thanks -john The patches are also available via a git pull: The following changes since commit c517d838eb7d07bbe9507871fab3931deccff539: Linux 4.0-rc1 (2015-02-22 18:21:14 -0800) are available in the git repository at: https://git.linaro.org/people/john.stultz/linux.git fortglx/4.1/time for you to fetch changes up to 904d6befdcab1b9947c14dd517977782216daafa: clocksource: Add some debug info about clocksources being registered (2015-02-25 20:58:30 -0800) Cc: Dave Jones Cc: Linus Torvalds Cc: Thomas Gleixner Cc: Richard Cochran Cc: Prarit Bhargava Cc: Stephen Boyd Cc: Ingo Molnar Cc: Peter Zijlstra 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 | 116 +++++++++++++++++++++++++++---- lib/Kconfig.debug | 12 ++++ 8 files changed, 208 insertions(+), 119 deletions(-) -- 1.9.1