diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 0225b622cd06..f3f5853a1822 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1696,6 +1696,18 @@ unsigned long sched_get_busy(int cpu) NSEC_PER_USEC); } +static void reset_task_stats(struct task_struct *p) +{ + int i; + + p->ravg.sum = 0; + p->ravg.demand = 0; + p->ravg.partial_demand = 0; + p->ravg.flags = 0; + for (i = 0; i < RAVG_HIST_SIZE_MAX; ++i) + p->ravg.sum_history[i] = 0; +} + /* Called with IRQs disabled */ void reset_all_window_stats(u64 window_start, unsigned int window_size) { @@ -1717,14 +1729,7 @@ void reset_all_window_stats(u64 window_start, unsigned int window_size) read_lock(&tasklist_lock); do_each_thread(g, p) { - int i; - - p->ravg.sum = 0; - p->ravg.demand = 0; - p->ravg.partial_demand = 0; - p->ravg.flags = 0; - for (i = 0; i < RAVG_HIST_SIZE_MAX; ++i) - p->ravg.sum_history[i] = 0; + reset_task_stats(p); p->ravg.mark_start = wallclock; } while_each_thread(g, p); read_unlock(&tasklist_lock);