linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2.6.20] tasks cannot run on cpus onlined after boot
@ 2007-01-07  8:49 Nathan Lynch
  2007-01-07 15:48 ` Ingo Molnar
  0 siblings, 1 reply; 2+ messages in thread
From: Nathan Lynch @ 2007-01-07  8:49 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Nick Piggin, Giuliano Pochini

Commit 5c1e176781f43bc902a51e5832f789756bff911b ("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>

---

This is a regression from 2.6.18.  Assuming this change is okay, this
should go to -stable for 2.6.19.x.

diff --git a/kernel/sched.c b/kernel/sched.c
index b515e3c..3c8b1c5 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -6875,7 +6875,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();

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 2.6.20] tasks cannot run on cpus onlined after boot
  2007-01-07  8:49 [PATCH 2.6.20] tasks cannot run on cpus onlined after boot Nathan Lynch
@ 2007-01-07 15:48 ` Ingo Molnar
  0 siblings, 0 replies; 2+ messages in thread
From: Ingo Molnar @ 2007-01-07 15:48 UTC (permalink / raw)
  To: Nathan Lynch; +Cc: Andrew Morton, linux-kernel, Nick Piggin, Giuliano Pochini


* Nathan Lynch <ntl@pobox.com> wrote:

> Commit 5c1e176781f43bc902a51e5832f789756bff911b ("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>

nicely spotted!

> -	cpus_andnot(non_isolated_cpus, cpu_online_map, cpu_isolated_map);
> +	cpus_andnot(non_isolated_cpus, cpu_possible_map, cpu_isolated_map);

Acked-by: Ingo Molnar <mingo@elte.hu>

	Ingo

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-01-07 15:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-01-07  8:49 [PATCH 2.6.20] tasks cannot run on cpus onlined after boot Nathan Lynch
2007-01-07 15:48 ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).