aboutsummaryrefslogtreecommitdiffstats
path: root/arch/tile
diff options
context:
space:
mode:
authorYong Zhang <yong.zhang0@gmail.com>2012-05-29 03:16:00 -0400
committerThomas Gleixner <tglx@linutronix.de>2012-06-05 11:27:12 -0400
commit8efdfc3a4ed009c978dab6609d15fb958e7cff12 (patch)
tree8ed511da1a77278f39313782ff03c59cdf928326 /arch/tile
parent46ce7fbfdbe0be6aaf0e816331aac08a74a00e5a (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.c10
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. */