timekeeping_adjust may set mult to 0

From: David Engraf
Date: Mon Feb 11 2013 - 10:57:59 EST


I have encountered a problem when a linux system uses a clocksource with mult = 1 and shift = 0 (clocksource cycle = nanoseconds). It may happen that the function timekeeping_adjust reduces the value of mult to 0 when error is lower than the interval [1].
As soon as timekeeper.mult is 0, ktime_get will no longer work because it uses timekeeping_get_ns which converts the cycle to nanoseconds with mult as 0 and the system clocksource returns always 0.

Best regards
David Engraf

[1] http://lxr.linux.no/linux+v3.0.62/kernel/time/timekeeping.c#L821
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/