Commit cba93a2b authored by Nathan Lynch's avatar Nathan Lynch Committed by Chris Wright

[PATCH] sched: tasks cannot run on cpus onlined after boot

Commit 5c1e1767 ("sched: force /sbin/init
off isolated cpus") sets init's cpus_allowed to a subset of cpu_online_map
at boot time, which means that tasks won't be scheduled on cpus that are
added to the system later.

Make init's cpus_allowed a subset of cpu_possible_map instead.  This should
still preserve the behavior that Nick's change intended.

Thanks to Giuliano Pochini for reporting this and testing the fix:

http://ozlabs.org/pipermail/linuxppc-dev/2006-December/029397.htmlSigned-off-by: default avatarNathan Lynch <ntl@pobox.com>
Acked-by: default avatarIngo Molnar <mingo@elte.hu>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: <stable@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
parent 3060e614
...@@ -6765,7 +6765,7 @@ void __init sched_init_smp(void) ...@@ -6765,7 +6765,7 @@ void __init sched_init_smp(void)
lock_cpu_hotplug(); lock_cpu_hotplug();
arch_init_sched_domains(&cpu_online_map); arch_init_sched_domains(&cpu_online_map);
cpus_andnot(non_isolated_cpus, cpu_online_map, cpu_isolated_map); cpus_andnot(non_isolated_cpus, cpu_possible_map, cpu_isolated_map);
if (cpus_empty(non_isolated_cpus)) if (cpus_empty(non_isolated_cpus))
cpu_set(smp_processor_id(), non_isolated_cpus); cpu_set(smp_processor_id(), non_isolated_cpus);
unlock_cpu_hotplug(); unlock_cpu_hotplug();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment