[2.6.21] BUG: clocksource_watchdog isn't reset after resume

From: Indan Zupancic
Date: Sun Apr 29 2007 - 12:20:52 EST


Hello,

After s2ram, basically the following happens, which shouldn't happen:

[ 0.880234] Clocksource tsc unstable (delta = 449782067799 ns)
[ 0.881221] Time: pit clocksource has been installed.

Looking at the source, it seems that clocksource_watchdog isn't reset
after resume, while the clock source used is, and hence it thinks that
the clock is unstable.

So it appears that timekeeping_resume and/or timekeeping_suspend should
do something to prevent this from happening.

Maybe by somehow updating 'watchdog_last' after resume, but it's unclear
how that should happen, as the watchdog doesn't export any functions and
the only thing that's reachable which calls anything watchdog related is
clocksource_register().

This is a UP machine with no frequency changing CPU, so the tsc is good
to use (before someone complaints that I should use the pm timer).

An alternative would be to not select CONFIG_CLOCKSOURCE_WATCHDOG, but
it's unclear how or by what that's selected.

Greetings,

Indan


-
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/