Files
Linux/include
John Stultz d65670a78c clocksource: Avoid selecting mult values that might overflow when adjusted
For some frequencies, the clocks_calc_mult_shift() function will
unfortunately select mult values very close to 0xffffffff.  This
has the potential to overflow when NTP adjusts the clock, adding
to the mult value.

This patch adds a clocksource.maxadj value, which provides
an approximation of an 11% adjustment(NTP limits adjustments to
500ppm and the tick adjustment is limited to 10%), which could
be made to the clocksource.mult value. This is then used to both
check that the current mult value won't overflow/underflow, as
well as warning us if the timekeeping_adjust() code pushes over
that 11% boundary.

v2: Fix max_adjustment calculation, and improve WARN_ONCE
messages.

v3: Don't warn before maxadj has actually been set

CC: Yong Zhang <[email protected]>
CC: David Daney <[email protected]>
CC: Thomas Gleixner <[email protected]>
CC: Chen Jie <[email protected]>
CC: zhangfx <[email protected]>
CC: [email protected]
Reported-by: Chen Jie <[email protected]>
Reported-by: zhangfx <[email protected]>
Tested-by: Yong Zhang <[email protected]>
Signed-off-by: John Stultz <[email protected]>
2011-11-10 11:27:08 -08:00
..
…
…
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
…