Commit-ID: b1f919664d04a8d0ba29cb76673c7ca3325a2006 Gitweb: http://git.kernel.org/tip/b1f919664d04a8d0ba29cb76673c7ca3325a2006 Author: Yang Honggang (Joseph) <eagle.rtlinux@xxxxxxxxx> AuthorDate: Thu, 1 Dec 2011 22:22:41 -0500 Committer: John Stultz <john.stultz@xxxxxxxxxx> CommitDate: Thu, 1 Dec 2011 15:50:00 -0800 clocksource: Fix bug with max_deferment margin calculation In order to leave a margin of 12.5% we should >> 3 not >> 5. CC: stable@xxxxxxxxxx Signed-off-by: Yang Honggang (Joseph) <eagle.rtlinux@xxxxxxxxx> [jstultz: Modified commit subject] Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> --- kernel/time/clocksource.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c index cfc65e1..da2f760 100644 --- a/kernel/time/clocksource.c +++ b/kernel/time/clocksource.c @@ -548,7 +548,7 @@ static u64 clocksource_max_deferment(struct clocksource *cs) * note a margin of 12.5% is used because this can be computed with * a shift, versus say 10% which would require division. */ - return max_nsecs - (max_nsecs >> 5); + return max_nsecs - (max_nsecs >> 3); } #ifndef CONFIG_ARCH_USES_GETTIMEOFFSET @@ -669,7 +669,7 @@ void __clocksource_updatefreq_scale(struct clocksource *cs, u32 scale, u32 freq) * ~ 0.06ppm granularity for NTP. We apply the same 12.5% * margin as we do in clocksource_max_deferment() */ - sec = (cs->mask - (cs->mask >> 5)); + sec = (cs->mask - (cs->mask >> 3)); do_div(sec, freq); do_div(sec, scale); if (!sec) -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html