aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-02-26 17:28:25 -0500
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-03-11 16:22:36 -0400
commita17b4b7487ebcb2aa6d0b859a0981e280d910622 (patch)
treebfbd7a3234e42c07f4fe5e73e8b5b3ba15d2c225 /arch/blackfin
parent2a442c9c6453d3d043dfd89f2e03a1deff8a6f06 (diff)
blackfin: Use common outgoing-CPU-notification code
This commit removes the open-coded CPU-offline notification with new common code. This change avoids calling scheduler code using RCU from an offline CPU that RCU is ignoring. This commit is compatible with the existing code in not checking for timeout during a prior offline for a given CPU. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Steven Miao <realmz6@gmail.com> Cc: <adi-buildroot-devel@lists.sourceforge.net>
Diffstat (limited to 'arch/blackfin')
-rw-r--r--arch/blackfin/mach-common/smp.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/blackfin/mach-common/smp.c b/arch/blackfin/mach-common/smp.c
index 8ad3e90cc8fc..1c7259597395 100644
--- a/arch/blackfin/mach-common/smp.c
+++ b/arch/blackfin/mach-common/smp.c
@@ -413,16 +413,14 @@ int __cpu_disable(void)
413 return 0; 413 return 0;
414} 414}
415 415
416static DECLARE_COMPLETION(cpu_killed);
417
418int __cpu_die(unsigned int cpu) 416int __cpu_die(unsigned int cpu)
419{ 417{
420 return wait_for_completion_timeout(&cpu_killed, 5000); 418 return cpu_wait_death(cpu, 5);
421} 419}
422 420
423void cpu_die(void) 421void cpu_die(void)
424{ 422{
425 complete(&cpu_killed); 423 (void)cpu_report_death();
426 424
427 atomic_dec(&init_mm.mm_users); 425 atomic_dec(&init_mm.mm_users);
428 atomic_dec(&init_mm.mm_count); 426 atomic_dec(&init_mm.mm_count);