diff options
author | Yong Zhang <yong.zhang0@gmail.com> | 2012-05-29 03:16:00 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2012-06-05 11:27:12 -0400 |
commit | 8efdfc3a4ed009c978dab6609d15fb958e7cff12 (patch) | |
tree | 8ed511da1a77278f39313782ff03c59cdf928326 /arch/tile | |
parent | 46ce7fbfdbe0be6aaf0e816331aac08a74a00e5a (diff) |
tile: SMP: Remove call to ipi_call_lock()/ipi_call_unlock()
ipi_call_lock/unlock() lock resp. unlock call_function.lock. This lock
protects only the call_function data structure itself, but it's
completely unrelated to cpu_online_mask. The mask to which the IPIs
are sent is calculated before call_function.lock is taken in
smp_call_function_many(), so the locking around set_cpu_online() is
pointless and can be removed.
[ tglx: Massaged changelog ]
Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
Cc: ralf@linux-mips.org
Cc: sshtylyov@mvista.com
Cc: david.daney@cavium.com
Cc: nikunj@linux.vnet.ibm.com
Cc: paulmck@linux.vnet.ibm.com
Cc: axboe@kernel.dk
Cc: peterz@infradead.org
Cc: Chris Metcalf <cmetcalf@tilera.com>
Link: http://lkml.kernel.org/r/1338275765-3217-6-git-send-email-yong.zhang0@gmail.com
Acked-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/tile')
-rw-r--r-- | arch/tile/kernel/smpboot.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/arch/tile/kernel/smpboot.c b/arch/tile/kernel/smpboot.c index 84873fbe8f27..e686c5ac90be 100644 --- a/arch/tile/kernel/smpboot.c +++ b/arch/tile/kernel/smpboot.c | |||
@@ -198,17 +198,7 @@ void __cpuinit online_secondary(void) | |||
198 | 198 | ||
199 | notify_cpu_starting(smp_processor_id()); | 199 | notify_cpu_starting(smp_processor_id()); |
200 | 200 | ||
201 | /* | ||
202 | * We need to hold call_lock, so there is no inconsistency | ||
203 | * between the time smp_call_function() determines number of | ||
204 | * IPI recipients, and the time when the determination is made | ||
205 | * for which cpus receive the IPI. Holding this | ||
206 | * lock helps us to not include this cpu in a currently in progress | ||
207 | * smp_call_function(). | ||
208 | */ | ||
209 | ipi_call_lock(); | ||
210 | set_cpu_online(smp_processor_id(), 1); | 201 | set_cpu_online(smp_processor_id(), 1); |
211 | ipi_call_unlock(); | ||
212 | __get_cpu_var(cpu_state) = CPU_ONLINE; | 202 | __get_cpu_var(cpu_state) = CPU_ONLINE; |
213 | 203 | ||
214 | /* Set up tile-specific state for this cpu. */ | 204 | /* Set up tile-specific state for this cpu. */ |