|
@@ -5488,6 +5488,14 @@ static int sched_cpu_active(struct notifier_block *nfb,
|
|
case CPU_STARTING:
|
|
case CPU_STARTING:
|
|
set_cpu_rq_start_time();
|
|
set_cpu_rq_start_time();
|
|
return NOTIFY_OK;
|
|
return NOTIFY_OK;
|
|
|
|
+ case CPU_ONLINE:
|
|
|
|
+ /*
|
|
|
|
+ * At this point a starting CPU has marked itself as online via
|
|
|
|
+ * set_cpu_online(). But it might not yet have marked itself
|
|
|
|
+ * as active, which is essential from here on.
|
|
|
|
+ *
|
|
|
|
+ * Thus, fall-through and help the starting CPU along.
|
|
|
|
+ */
|
|
case CPU_DOWN_FAILED:
|
|
case CPU_DOWN_FAILED:
|
|
set_cpu_active((long)hcpu, true);
|
|
set_cpu_active((long)hcpu, true);
|
|
return NOTIFY_OK;
|
|
return NOTIFY_OK;
|