lkml.org 
[lkml]   [2004]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] isolcpus option broken in 2.6.10-rc2-bk2
The isolcpus option is broken in 2.6.10-rc2-bk2.  The domains are no longer
being properly initialized (which results in a panic at bootup).

The following patch fixes this.

Signed-off-by: Dimitri Sivanich <sivanich@sgi.com>

Index: linux/arch/ia64/kernel/domain.c
===================================================================
--- linux.orig/arch/ia64/kernel/domain.c 2004-12-03 15:43:47.000000000 -0600
+++ linux/arch/ia64/kernel/domain.c 2004-12-06 12:28:42.788584850 -0600
@@ -220,6 +220,23 @@ void __devinit arch_init_sched_domains(v
&cpu_to_phys_group);
}

+ /* Initialize isolated CPU (physical) domains and groups */
+ for_each_cpu_mask(i, cpu_isolated_map) {
+ struct sched_domain *sd = NULL;
+ int group;
+
+ sd = &per_cpu(phys_domains, i);
+ group = cpu_to_phys_group(i);
+ *sd = SD_CPU_INIT;
+ cpu_set(i, sd->span);
+ sd->flags = 0;
+ sd->balance_interval = INT_MAX;
+ sd->groups = &sched_group_phys[group];
+ init_sched_build_groups(sched_group_phys, sd->span,
+ &cpu_to_phys_group);
+ sd->groups->cpu_power = SCHED_LOAD_SCALE;
+ }
+
#ifdef CONFIG_NUMA
init_sched_build_groups(sched_group_allnodes, cpu_default_map,
&cpu_to_allnodes_group);
Index: linux/kernel/sched.c
===================================================================
--- linux.orig/kernel/sched.c 2004-12-03 15:44:08.000000000 -0600
+++ linux/kernel/sched.c 2004-12-06 12:28:35.359689609 -0600
@@ -4323,6 +4323,23 @@ static void __devinit arch_init_sched_do
&cpu_to_phys_group);
}

+ /* Initialize isolated CPU (physical) domains and groups */
+ for_each_cpu_mask(i, cpu_isolated_map) {
+ struct sched_domain *sd = NULL;
+ int group;
+
+ sd = &per_cpu(phys_domains, i);
+ group = cpu_to_phys_group(i);
+ *sd = SD_CPU_INIT;
+ cpu_set(i, sd->span);
+ sd->flags = 0;
+ sd->balance_interval = INT_MAX;
+ sd->groups = &sched_group_phys[group];
+ init_sched_build_groups(sched_group_phys, sd->span,
+ &cpu_to_phys_group);
+ sd->groups->cpu_power = SCHED_LOAD_SCALE;
+ }
+
#ifdef CONFIG_NUMA
/* Set up node groups */
init_sched_build_groups(sched_group_nodes, cpu_default_map,


-
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/

\
 
 \ /
  Last update: 2005-03-22 14:08    [W:0.132 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site