/**
 * clocksource_suspend - suspend the clocksource(s)
 */
void clocksource_suspend(void)
{
 struct clocksource *cs;
 list_for_each_entry_reverse(cs, &clocksource_list, list)
  if (cs->suspend)
   cs->suspend(cs);
}
/**
 * clocksource_resume - resume the clocksource(s)
 */
void clocksource_resume(void)
{
 struct clocksource *cs;
 list_for_each_entry(cs, &clocksource_list, list)
  if (cs->resume)
   cs->resume(cs);
 clocksource_resume_watchdog();
}

函数timekeeping_resume()和timekeeping_suspend()调用。