aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorJohn Stultz <john.stultz@linaro.org>2012-03-22 22:14:46 -0400
committerJohn Stultz <john.stultz@linaro.org>2012-03-23 19:25:16 -0400
commite919cfd42da54d400e7e0385f22cae3672dcf874 (patch)
tree2fad9b552439188e2e48b0d3b0cacce52dc71b95 /kernel
parentad30dfa94c5cc23931c822922a50bd163ab293a5 (diff)
time: Avoid scary backtraces when warning of > 11% adj
Folks have been getting a number of warnings about time adjustments > 11%. The WARN_ON leaves a big useless backtrace so this patch removes it for a printk_once(). I'm still working to narrow down the cause of the > 11% adjustment. Signed-off-by: John Stultz <john.stultz@linaro.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/time/timekeeping.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 5d76e09ddd3d..16a175bed355 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -869,13 +869,15 @@ static void timekeeping_adjust(s64 offset)
869 } else /* No adjustment needed */ 869 } else /* No adjustment needed */
870 return; 870 return;
871 871
872 WARN_ONCE(timekeeper.clock->maxadj && 872 if (unlikely(timekeeper.clock->maxadj &&
873 (timekeeper.mult + adj > timekeeper.clock->mult + 873 (timekeeper.mult + adj >
874 timekeeper.clock->maxadj), 874 timekeeper.clock->mult + timekeeper.clock->maxadj))) {
875 "Adjusting %s more then 11%% (%ld vs %ld)\n", 875 printk_once(KERN_WARNING
876 "Adjusting %s more than 11%% (%ld vs %ld)\n",
876 timekeeper.clock->name, (long)timekeeper.mult + adj, 877 timekeeper.clock->name, (long)timekeeper.mult + adj,
877 (long)timekeeper.clock->mult + 878 (long)timekeeper.clock->mult +
878 timekeeper.clock->maxadj); 879 timekeeper.clock->maxadj);
880 }
879 /* 881 /*
880 * So the following can be confusing. 882 * So the following can be confusing.
881 * 883 *