diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 1779e3ae807d455fd88340020584823a7fcd091c..414a36a7bcb774d8e5aececdd7a2ed7c27729736 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2179,10 +2179,6 @@ static void __sched_fork(unsigned long clone_flags, struct task_struct *p) memset(&p->se.statistics, 0, sizeof(p->se.statistics)); #endif -#ifdef CONFIG_CPU_FREQ_STAT - cpufreq_task_stats_init(p); -#endif - RB_CLEAR_NODE(&p->dl.rb_node); init_dl_task_timer(&p->dl); __dl_clear_params(p); @@ -2260,6 +2256,10 @@ int sched_fork(unsigned long clone_flags, struct task_struct *p) unsigned long flags; int cpu = get_cpu(); +#ifdef CONFIG_CPU_FREQ_STAT + cpufreq_task_stats_init(p); +#endif + __sched_fork(clone_flags, p); /* * We mark the process as running here. This guarantees that