aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched/core.c')
-rw-r--r--kernel/sched/core.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index f5605b6deea4..da302ca98f60 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -5089,10 +5089,20 @@ static struct notifier_block migration_notifier = {
5089 .priority = CPU_PRI_MIGRATION, 5089 .priority = CPU_PRI_MIGRATION,
5090}; 5090};
5091 5091
5092static void __cpuinit set_cpu_rq_start_time(void)
5093{
5094 int cpu = smp_processor_id();
5095 struct rq *rq = cpu_rq(cpu);
5096 rq->age_stamp = sched_clock_cpu(cpu);
5097}
5098
5092static int sched_cpu_active(struct notifier_block *nfb, 5099static int sched_cpu_active(struct notifier_block *nfb,
5093 unsigned long action, void *hcpu) 5100 unsigned long action, void *hcpu)
5094{ 5101{
5095 switch (action & ~CPU_TASKS_FROZEN) { 5102 switch (action & ~CPU_TASKS_FROZEN) {
5103 case CPU_STARTING:
5104 set_cpu_rq_start_time();
5105 return NOTIFY_OK;
5096 case CPU_DOWN_FAILED: 5106 case CPU_DOWN_FAILED:
5097 set_cpu_active((long)hcpu, true); 5107 set_cpu_active((long)hcpu, true);
5098 return NOTIFY_OK; 5108 return NOTIFY_OK;
@@ -6970,6 +6980,7 @@ void __init sched_init(void)
6970 if (cpu_isolated_map == NULL) 6980 if (cpu_isolated_map == NULL)
6971 zalloc_cpumask_var(&cpu_isolated_map, GFP_NOWAIT); 6981 zalloc_cpumask_var(&cpu_isolated_map, GFP_NOWAIT);
6972 idle_thread_set_boot_cpu(); 6982 idle_thread_set_boot_cpu();
6983 set_cpu_rq_start_time();
6973#endif 6984#endif
6974 init_sched_fair_class(); 6985 init_sched_fair_class();
6975 6986