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
vserver 1.9.3
[linux-2.6.git]
/
arch
/
sparc64
/
kernel
/
smp.c
diff --git
a/arch/sparc64/kernel/smp.c
b/arch/sparc64/kernel/smp.c
index
abc65dc
..
f2bbaaf
100644
(file)
--- a/
arch/sparc64/kernel/smp.c
+++ b/
arch/sparc64/kernel/smp.c
@@
-19,6
+19,7
@@
#include <linux/seq_file.h>
#include <linux/cache.h>
#include <linux/jiffies.h>
#include <linux/seq_file.h>
#include <linux/cache.h>
#include <linux/jiffies.h>
+#include <linux/profile.h>
#include <asm/head.h>
#include <asm/ptrace.h>
#include <asm/head.h>
#include <asm/ptrace.h>
@@
-31,7
+32,6
@@
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/oplib.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/oplib.h>
-#include <asm/hardirq.h>
#include <asm/uaccess.h>
#include <asm/timer.h>
#include <asm/starfire.h>
#include <asm/uaccess.h>
#include <asm/timer.h>
#include <asm/starfire.h>
@@
-303,14
+303,7
@@
static int __devinit smp_boot_one_cpu(unsigned int cpu)
struct task_struct *p;
int timeout, ret, cpu_node;
struct task_struct *p;
int timeout, ret, cpu_node;
- kernel_thread(NULL, NULL, CLONE_IDLETASK);
-
- p = prev_task(&init_task);
-
- init_idle(p, cpu);
-
- unhash_process(p);
-
+ p = fork_idle(cpu);
callin_flag = 0;
cpu_new_thread = p->thread_info;
cpu_set(cpu, cpu_callout_map);
callin_flag = 0;
cpu_new_thread = p->thread_info;
cpu_set(cpu, cpu_callout_map);
@@
-981,8
+974,6
@@
void smp_promstop_others(void)
smp_cross_call(&xcall_promstop, 0, 0, 0);
}
smp_cross_call(&xcall_promstop, 0, 0, 0);
}
-extern void sparc64_do_profile(struct pt_regs *regs);
-
#define prof_multiplier(__cpu) cpu_data(__cpu).multiplier
#define prof_counter(__cpu) cpu_data(__cpu).counter
#define prof_multiplier(__cpu) cpu_data(__cpu).multiplier
#define prof_counter(__cpu) cpu_data(__cpu).counter
@@
-1008,7
+999,7
@@
void smp_percpu_timer_interrupt(struct pt_regs *regs)
}
do {
}
do {
-
sparc64_do_profile(
regs);
+
profile_tick(CPU_PROFILING,
regs);
if (!--prof_counter(cpu)) {
irq_enter();
if (!--prof_counter(cpu)) {
irq_enter();