diff options
author | John Stultz <john.stultz@linaro.org> | 2012-03-22 22:14:46 -0400 |
---|---|---|
committer | John Stultz <john.stultz@linaro.org> | 2012-03-23 19:25:16 -0400 |
commit | e919cfd42da54d400e7e0385f22cae3672dcf874 (patch) | |
tree | 2fad9b552439188e2e48b0d3b0cacce52dc71b95 /kernel | |
parent | ad30dfa94c5cc23931c822922a50bd163ab293a5 (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.c | 10 |
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 | * |