Messages in this thread | | | From | Thomas Gleixner <> | Subject | Re: [GIT PULL clocksource] Clocksource watchdog commits for v5.15 | Date | Thu, 12 Aug 2021 19:11:55 +0200 |
| |
On Thu, Aug 12 2021 at 09:37, Paul E. McKenney wrote:
> On Thu, Aug 12, 2021 at 03:46:42PM +0200, Thomas Gleixner wrote: >> On Wed, Aug 11 2021 at 17:01, Paul E. McKenney wrote: >> > This pull request contains a single change that prevents clocksource >> > watchdog testing on systems with HZ < 100, thus preventing the integer >> > underflow that can occur on leisurely HZed systems. This has been >> > posted to LKML: >> > >> > https://lore.kernel.org/lkml/20210721212755.GA2066078@paulmck-ThinkPad-P17-Gen-1/ >> >> So with HZ < 100 .mult overflows, but why not simply adjusting the >> mult, shift value to be >> >> .mult = TICK_NSEC, >> .shift = 0, >> >> which is effectively the same as >> >> .mult = TICK_NSEC << 8, >> .shift = 8, >> >> Hmm? > > Another option would be for me to be less lazy and to move this code: > > /* Since jiffies uses a simple TICK_NSEC multiplier > * conversion, the .shift value could be zero. However > * this would make NTP adjustments impossible as they are > * in units of 1/2^.shift. Thus we use JIFFIES_SHIFT to > * shift both the nominator and denominator the same > * amount, and give ntp adjustments in units of 1/2^8 > * > * The value 8 is somewhat carefully chosen, as anything > * larger can result in overflows. TICK_NSEC grows as HZ > * shrinks, so values greater than 8 overflow 32bits when > * HZ=100. > */ > #if HZ < 34 > #define JIFFIES_SHIFT 6 > #elif HZ < 67 > #define JIFFIES_SHIFT 7 > #else > #define JIFFIES_SHIFT 8 > #endif > > from kernel/time/jiffies.c to include/linux/clocksource.h.
No need to expose this globaly.
kernel/time/tick-internal.h or kernel/time/jiffies.h
Thanks,
tglx
| |