Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932435AbXAGI6f (ORCPT ); Sun, 7 Jan 2007 03:58:35 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932438AbXAGI6f (ORCPT ); Sun, 7 Jan 2007 03:58:35 -0500 Received: from lollipop.listbox.com ([208.210.124.78]:38568 "EHLO lollipop.listbox.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932435AbXAGI6e (ORCPT ); Sun, 7 Jan 2007 03:58:34 -0500 X-Greylist: delayed 513 seconds by postgrey-1.27 at vger.kernel.org; Sun, 07 Jan 2007 03:58:34 EST Date: Sun, 7 Jan 2007 02:49:55 -0600 From: Nathan Lynch To: Andrew Morton Cc: linux-kernel@vger.kernel.org, Nick Piggin , Giuliano Pochini Subject: [PATCH 2.6.20] tasks cannot run on cpus onlined after boot Message-ID: <20070107084955.GD7654@localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.11 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1411 Lines: 38 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 --- 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(); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/