diff options
author | Yong Zhang <yong.zhang@windriver.com> | 2012-07-19 03:13:53 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2012-07-19 05:23:44 -0400 |
commit | 5309bdac7029c7d8659d6653761f3402e17ed1ab (patch) | |
tree | 84699d143aa3320901b1b38c82833a993b48ee47 | |
parent | 263afbdd1cdd49338c118a3064acee01c69bb501 (diff) |
MIPS: call ->smp_finish() a little late
We have move irq enable to ->smp_finish. Place ->smp_finish() a little
late to prepare for move set_cpu_online() into start_secondary.
And it's not necessary to call cpu_set(cpu, cpu_callin_map) and
synchronise_count_slave() with irq enabled.
Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Cc: Sergei Shtylyov <sshtylyov@mvista.com>
Cc: David Daney <david.daney@cavium.com>
Acked-by: David Daney <david.daney@cavium.com>
Patchwork: https://patchwork.linux-mips.org/patch/3850/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/kernel/smp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c index 48650c818040..b181bbf410de 100644 --- a/arch/mips/kernel/smp.c +++ b/arch/mips/kernel/smp.c | |||
@@ -122,13 +122,14 @@ asmlinkage __cpuinit void start_secondary(void) | |||
122 | 122 | ||
123 | notify_cpu_starting(cpu); | 123 | notify_cpu_starting(cpu); |
124 | 124 | ||
125 | mp_ops->smp_finish(); | ||
126 | set_cpu_sibling_map(cpu); | 125 | set_cpu_sibling_map(cpu); |
127 | 126 | ||
128 | cpu_set(cpu, cpu_callin_map); | 127 | cpu_set(cpu, cpu_callin_map); |
129 | 128 | ||
130 | synchronise_count_slave(); | 129 | synchronise_count_slave(); |
131 | 130 | ||
131 | mp_ops->smp_finish(); | ||
132 | |||
132 | cpu_idle(); | 133 | cpu_idle(); |
133 | } | 134 | } |
134 | 135 | ||