[patch 4/4] Remove unnecessary cpu maps (available, present_at_boot)
nathanl at austin.ibm.com
nathanl at austin.ibm.com
Wed Aug 4 09:18:46 EST 2004
With cpu_present_map, we don't need these any longer.
Signed-off-by: Nathan Lynch <nathanl at austin.ibm.com>
---
diff -puN arch/ppc64/kernel/prom.c~ppc64-remove-unnecessary-cpu-maps arch/ppc64/kernel/prom.c
--- 2.6-tip/arch/ppc64/kernel/prom.c~ppc64-remove-unnecessary-cpu-maps 2004-08-03 18:07:20.000000000 -0500
+++ 2.6-tip-nathanl/arch/ppc64/kernel/prom.c 2004-08-03 18:07:20.000000000 -0500
@@ -940,9 +940,7 @@ static void __init prom_hold_cpus(unsign
lpaca[cpuid].hw_cpu_id = reg;
#ifdef CONFIG_SMP
- cpu_set(cpuid, RELOC(cpu_available_map));
cpu_set(cpuid, RELOC(cpu_possible_map));
- cpu_set(cpuid, RELOC(cpu_present_at_boot));
cpu_set(cpuid, RELOC(cpu_present_map));
if (reg == 0)
cpu_set(cpuid, RELOC(cpu_online_map));
@@ -1043,9 +1041,7 @@ static void __init prom_hold_cpus(unsign
#ifdef CONFIG_SMP
/* Set the number of active processors. */
_systemcfg->processorCount++;
- cpu_set(cpuid, RELOC(cpu_available_map));
cpu_set(cpuid, RELOC(cpu_possible_map));
- cpu_set(cpuid, RELOC(cpu_present_at_boot));
cpu_set(cpuid, RELOC(cpu_present_map));
#endif
} else {
@@ -1055,10 +1051,8 @@ static void __init prom_hold_cpus(unsign
#ifdef CONFIG_SMP
else {
prom_printf("%x : booting cpu %s\n", cpuid, path);
- cpu_set(cpuid, RELOC(cpu_available_map));
cpu_set(cpuid, RELOC(cpu_possible_map));
cpu_set(cpuid, RELOC(cpu_online_map));
- cpu_set(cpuid, RELOC(cpu_present_at_boot));
cpu_set(cpuid, RELOC(cpu_present_map));
}
#endif
@@ -1073,8 +1067,6 @@ next:
prom_printf("%x : preparing thread ... ",
interrupt_server[i]);
if (_naca->smt_state) {
- cpu_set(cpuid, RELOC(cpu_available_map));
- cpu_set(cpuid, RELOC(cpu_present_at_boot));
cpu_set(cpuid, RELOC(cpu_present_map));
cpu_set(cpuid, RELOC(cpu_possible_map));
_systemcfg->processorCount++;
diff -puN arch/ppc64/kernel/smp.c~ppc64-remove-unnecessary-cpu-maps arch/ppc64/kernel/smp.c
--- 2.6-tip/arch/ppc64/kernel/smp.c~ppc64-remove-unnecessary-cpu-maps 2004-08-03 18:07:20.000000000 -0500
+++ 2.6-tip-nathanl/arch/ppc64/kernel/smp.c 2004-08-03 18:07:20.000000000 -0500
@@ -59,8 +59,6 @@ unsigned long cache_decay_ticks;
cpumask_t cpu_possible_map = CPU_MASK_NONE;
cpumask_t cpu_online_map = CPU_MASK_NONE;
-cpumask_t cpu_available_map = CPU_MASK_NONE;
-cpumask_t cpu_present_at_boot = CPU_MASK_NONE;
EXPORT_SYMBOL(cpu_online_map);
EXPORT_SYMBOL(cpu_possible_map);
@@ -124,9 +122,7 @@ static int smp_iSeries_numProcs(void)
np = 0;
for (i=0; i < NR_CPUS; ++i) {
if (paca[i].lppaca.xDynProcStatus < 2) {
- cpu_set(i, cpu_available_map);
cpu_set(i, cpu_possible_map);
- cpu_set(i, cpu_present_at_boot);
cpu_set(i, cpu_present_map);
++np;
}
@@ -878,7 +874,7 @@ int __devinit __cpu_up(unsigned int cpu)
int c;
/* At boot, don't bother with non-present cpus -JSCHOPP */
- if (system_state == SYSTEM_BOOTING && !cpu_present_at_boot(cpu))
+ if (system_state == SYSTEM_BOOTING && !cpu_present(cpu))
return -ENOENT;
paca[cpu].prof_counter = 1;
diff -puN arch/ppc64/kernel/xics.c~ppc64-remove-unnecessary-cpu-maps arch/ppc64/kernel/xics.c
--- 2.6-tip/arch/ppc64/kernel/xics.c~ppc64-remove-unnecessary-cpu-maps 2004-08-03 18:07:20.000000000 -0500
+++ 2.6-tip-nathanl/arch/ppc64/kernel/xics.c 2004-08-03 18:07:20.000000000 -0500
@@ -548,7 +548,7 @@ nextnode:
#ifdef CONFIG_SMP
for_each_cpu(i) {
/* FIXME: Do this dynamically! --RR */
- if (!cpu_present_at_boot(i))
+ if (!cpu_present(i))
continue;
xics_per_cpu[i] = __ioremap((ulong)inodes[get_hard_smp_processor_id(i)].addr,
(ulong)inodes[get_hard_smp_processor_id(i)].size,
diff -puN include/asm-ppc64/smp.h~ppc64-remove-unnecessary-cpu-maps include/asm-ppc64/smp.h
--- 2.6-tip/include/asm-ppc64/smp.h~ppc64-remove-unnecessary-cpu-maps 2004-08-03 18:07:20.000000000 -0500
+++ 2.6-tip-nathanl/include/asm-ppc64/smp.h 2004-08-03 18:07:20.000000000 -0500
@@ -36,23 +36,6 @@ extern void smp_message_recv(int, struct
#define smp_processor_id() (get_paca()->paca_index)
#define hard_smp_processor_id() (get_paca()->hw_cpu_id)
-/*
- * Retrieve the state of a CPU:
- * online: CPU is in a normal run state
- * possible: CPU is a candidate to be made online
- * available: CPU is candidate for the 'possible' pool
- * Used to get SMT threads started at boot time.
- * present_at_boot: CPU was available at boot time. Used in DLPAR
- * code to handle special cases for processor start up.
- */
-extern cpumask_t cpu_present_at_boot;
-extern cpumask_t cpu_online_map;
-extern cpumask_t cpu_possible_map;
-extern cpumask_t cpu_available_map;
-
-#define cpu_present_at_boot(cpu) cpu_isset(cpu, cpu_present_at_boot)
-#define cpu_available(cpu) cpu_isset(cpu, cpu_available_map)
-
/* Since OpenPIC has only 4 IPIs, we use slightly different message numbers.
*
* Make sure this matches openpic_request_IPIs in open_pic.c, or what shows up
_
** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc64-dev
mailing list