git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
arch
/
powerpc
/
kernel
/
smp.c
diff --git
a/arch/powerpc/kernel/smp.c
b/arch/powerpc/kernel/smp.c
index
6a9bc9c
..
13595a6
100644
(file)
--- a/
arch/powerpc/kernel/smp.c
+++ b/
arch/powerpc/kernel/smp.c
@@
-17,6
+17,7
@@
#undef DEBUG
#undef DEBUG
+#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/sched.h>
@@
-144,15
+145,13
@@
void smp_message_recv(int msg, struct pt_regs *regs)
void smp_send_reschedule(int cpu)
{
void smp_send_reschedule(int cpu)
{
- if (likely(smp_ops))
- smp_ops->message_pass(cpu, PPC_MSG_RESCHEDULE);
+ smp_ops->message_pass(cpu, PPC_MSG_RESCHEDULE);
}
#ifdef CONFIG_DEBUGGER
void smp_send_debugger_break(int cpu)
{
}
#ifdef CONFIG_DEBUGGER
void smp_send_debugger_break(int cpu)
{
- if (likely(smp_ops))
- smp_ops->message_pass(cpu, PPC_MSG_DEBUGGER_BREAK);
+ smp_ops->message_pass(cpu, PPC_MSG_DEBUGGER_BREAK);
}
#endif
}
#endif
@@
-160,7
+159,7
@@
void smp_send_debugger_break(int cpu)
void crash_send_ipi(void (*crash_ipi_callback)(struct pt_regs *))
{
crash_ipi_function_ptr = crash_ipi_callback;
void crash_send_ipi(void (*crash_ipi_callback)(struct pt_regs *))
{
crash_ipi_function_ptr = crash_ipi_callback;
- if (crash_ipi_callback
&& smp_ops
) {
+ if (crash_ipi_callback) {
mb();
smp_ops->message_pass(MSG_ALL_BUT_SELF, PPC_MSG_DEBUGGER_BREAK);
}
mb();
smp_ops->message_pass(MSG_ALL_BUT_SELF, PPC_MSG_DEBUGGER_BREAK);
}
@@
-222,9
+221,6
@@
int smp_call_function (void (*func) (void *info), void *info, int nonatomic,
/* Can deadlock when called with interrupts disabled */
WARN_ON(irqs_disabled());
/* Can deadlock when called with interrupts disabled */
WARN_ON(irqs_disabled());
- if (unlikely(smp_ops == NULL))
- return -1;
-
data.func = func;
data.info = info;
atomic_set(&data.started, 0);
data.func = func;
data.info = info;
atomic_set(&data.started, 0);
@@
-362,14
+358,11
@@
void __init smp_prepare_cpus(unsigned int max_cpus)
smp_store_cpu_info(boot_cpuid);
cpu_callin_map[boot_cpuid] = 1;
smp_store_cpu_info(boot_cpuid);
cpu_callin_map[boot_cpuid] = 1;
- if (smp_ops)
- max_cpus = smp_ops->probe();
- else
- max_cpus = 1;
+ max_cpus = smp_ops->probe();
smp_space_timers(max_cpus);
smp_space_timers(max_cpus);
- for_each_
possible_
cpu(cpu)
+ for_each_cpu(cpu)
if (cpu != boot_cpuid)
smp_create_idle(cpu);
}
if (cpu != boot_cpuid)
smp_create_idle(cpu);
}
@@
-461,7
+454,7
@@
void generic_mach_cpu_die(void)
static int __devinit cpu_enable(unsigned int cpu)
{
static int __devinit cpu_enable(unsigned int cpu)
{
- if (smp_ops
&& smp_ops
->cpu_enable)
+ if (smp_ops->cpu_enable)
return smp_ops->cpu_enable(cpu);
return -ENOSYS;
return smp_ops->cpu_enable(cpu);
return -ENOSYS;
@@
-475,8
+468,7
@@
int __devinit __cpu_up(unsigned int cpu)
if (!cpu_enable(cpu))
return 0;
if (!cpu_enable(cpu))
return 0;
- if (smp_ops == NULL ||
- (smp_ops->cpu_bootable && !smp_ops->cpu_bootable(cpu)))
+ if (smp_ops->cpu_bootable && !smp_ops->cpu_bootable(cpu))
return -EINVAL;
/* Make sure callin-map entry is 0 (can be leftover a CPU
return -EINVAL;
/* Make sure callin-map entry is 0 (can be leftover a CPU
@@
-500,7
+492,7
@@
int __devinit __cpu_up(unsigned int cpu)
* -- Cort
*/
if (system_state < SYSTEM_RUNNING)
* -- Cort
*/
if (system_state < SYSTEM_RUNNING)
- for (c = 5000
0
; c && !cpu_callin_map[cpu]; c--)
+ for (c = 5000; c && !cpu_callin_map[cpu]; c--)
udelay(100);
#ifdef CONFIG_HOTPLUG_CPU
else
udelay(100);
#ifdef CONFIG_HOTPLUG_CPU
else
@@
-549,7
+541,7
@@
int __devinit start_secondary(void *unused)
smp_ops->take_timebase();
if (system_state > SYSTEM_BOOTING)
smp_ops->take_timebase();
if (system_state > SYSTEM_BOOTING)
-
snapshot_timebase
();
+
per_cpu(last_jiffy, cpu) = get_tb
();
spin_lock(&call_lock);
cpu_set(cpu, cpu_online_map);
spin_lock(&call_lock);
cpu_set(cpu, cpu_online_map);
@@
-577,13
+569,10
@@
void __init smp_cpus_done(unsigned int max_cpus)
old_mask = current->cpus_allowed;
set_cpus_allowed(current, cpumask_of_cpu(boot_cpuid));
old_mask = current->cpus_allowed;
set_cpus_allowed(current, cpumask_of_cpu(boot_cpuid));
- if (smp_ops)
- smp_ops->setup_cpu(boot_cpuid);
+ smp_ops->setup_cpu(boot_cpuid);
set_cpus_allowed(current, old_mask);
set_cpus_allowed(current, old_mask);
- snapshot_timebases();
-
dump_numa_cpu_topology();
}
dump_numa_cpu_topology();
}