#endif /* HIGH_RES_TIMERS */
#if defined CONFIG_NO_HZ_COMMON || defined CONFIG_HIGH_RES_TIMERS
+
+static inline void clear_tick_sched(struct tick_sched *ts)
+{
+ ktime_t idle_sleeptime = ts->idle_sleeptime;
+ ktime_t iowait_sleeptime = ts->iowait_sleeptime;
+
+ memset(ts, 0, sizeof(*ts));
+ ts->idle_sleeptime = idle_sleeptime;
+ ts->iowait_sleeptime = iowait_sleeptime;
+}
+
void tick_cancel_sched_timer(int cpu)
{
struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu);
hrtimer_cancel(&ts->sched_timer);
# endif
- memset(ts, 0, sizeof(*ts));
+ clear_tick_sched(ts);
}
#endif