[PATCH] sched: tasks cannot run on cpus onlined after boot
Commit 5c1e176781
("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.html
Signed-off-by: Nathan Lynch <ntl@pobox.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
c71551ad30
commit
e5e5673f82
|
@ -6865,7 +6865,7 @@ void __init sched_init_smp(void)
|
|||
|
||||
lock_cpu_hotplug();
|
||||
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))
|
||||
cpu_set(smp_processor_id(), non_isolated_cpus);
|
||||
unlock_cpu_hotplug();
|
||||
|
|
Loading…
Reference in New Issue