aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-08-31 23:55:23 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-08-31 23:55:23 -0400
commit418c2e1f67658460533e4aaa7a0bcc64290ec951 (patch)
tree3ac2d1c0741297dd591efc4eab0918ad4ed5f530
parenta1d8561172f369ba56d636df49a6b4d6d77e2123 (diff)
parentdd9d3843755da95f63dd3a376f62b3e45c011210 (diff)
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fix from Ingo Molnar: "This is a leftover scheduler fix from the v4.2 cycle" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched: Fix cpu_active_mask/cpu_online_mask race
-rw-r--r--kernel/sched/core.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index a585c7b2ccf0..7819725e9da8 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -5488,6 +5488,14 @@ static int sched_cpu_active(struct notifier_block *nfb,
5488 case CPU_STARTING: 5488 case CPU_STARTING:
5489 set_cpu_rq_start_time(); 5489 set_cpu_rq_start_time();
5490 return NOTIFY_OK; 5490 return NOTIFY_OK;
5491 case CPU_ONLINE:
5492 /*
5493 * At this point a starting CPU has marked itself as online via
5494 * set_cpu_online(). But it might not yet have marked itself
5495 * as active, which is essential from here on.
5496 *
5497 * Thus, fall-through and help the starting CPU along.
5498 */
5491 case CPU_DOWN_FAILED: 5499 case CPU_DOWN_FAILED:
5492 set_cpu_active((long)hcpu, true); 5500 set_cpu_active((long)hcpu, true);
5493 return NOTIFY_OK; 5501 return NOTIFY_OK;