浏览代码

[PATCH] s390: earlier initialization of cpu_possible_map

Initiliazing of cpu_possible_map was done in smp_prepare_cpus which is way too
late.  Therefore assign a static value to cpu_possible_map, since we don't
have access to max_cpus in setup_arch.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Heiko Carstens 19 年之前
父节点
当前提交
9733e2407a
共有 1 个文件被更改,包括 1 次插入5 次删除
  1. 1 5
      arch/s390/kernel/smp.c

+ 1 - 5
arch/s390/kernel/smp.c

@@ -52,7 +52,7 @@ extern volatile int __cpu_logical_map[];
 struct _lowcore *lowcore_ptr[NR_CPUS];
 struct _lowcore *lowcore_ptr[NR_CPUS];
 
 
 cpumask_t cpu_online_map;
 cpumask_t cpu_online_map;
-cpumask_t cpu_possible_map;
+cpumask_t cpu_possible_map = CPU_MASK_ALL;
 
 
 static struct task_struct *current_set[NR_CPUS];
 static struct task_struct *current_set[NR_CPUS];
 
 
@@ -514,9 +514,6 @@ __init smp_check_cpus(unsigned int max_cpus)
 		num_cpus++;
 		num_cpus++;
 	}
 	}
 
 
-	for (cpu = 1; cpu < max_cpus; cpu++)
-		cpu_set(cpu, cpu_possible_map);
-
 	printk("Detected %d CPU's\n",(int) num_cpus);
 	printk("Detected %d CPU's\n",(int) num_cpus);
 	printk("Boot cpu address %2X\n", boot_cpu_addr);
 	printk("Boot cpu address %2X\n", boot_cpu_addr);
 }
 }
@@ -810,7 +807,6 @@ void __devinit smp_prepare_boot_cpu(void)
 
 
 	cpu_set(0, cpu_online_map);
 	cpu_set(0, cpu_online_map);
 	cpu_set(0, cpu_present_map);
 	cpu_set(0, cpu_present_map);
-	cpu_set(0, cpu_possible_map);
 	S390_lowcore.percpu_offset = __per_cpu_offset[0];
 	S390_lowcore.percpu_offset = __per_cpu_offset[0];
 	current_set[0] = current;
 	current_set[0] = current;
 }
 }