Skip to content
  • John Stultz's avatar
    clocksource: Simplify the logic around clocksource wrapping safety margins · 362fde04
    John Stultz authored
    
    
    The clocksource logic has a number of places where we try to
    include a safety margin. Most of these are 12% safety margins,
    but they are inconsistently applied and sometimes are applied
    on top of each other.
    
    Additionally, in the previous patch, we corrected an issue
    where we unintentionally in effect created a 50% safety margin,
    which these 12.5% margins where then added to.
    
    So to simplify the logic here, this patch removes the various
    12.5% margins, and consolidates adding the margin in one place:
    clocks_calc_max_nsecs().
    
    Additionally, Linus prefers a 50% safety margin, as it allows
    bad clock values to be more easily caught. This should really
    have no net effect, due to the corrected issue earlier which
    caused greater then 50% margins to be used w/o issue.
    
    Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
    Acked-by: Stephen Boyd <sboyd@codeaurora.org> (for the sched_clock.c bit)
    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: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/1426133800-29329-3-git-send-email-john.stultz@linaro.org
    
    
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    362fde04