[PATCH RFC -rt] Alleged fix for CPU-hotplug deadlock

From: Paul E. McKenney
Date: Tue Feb 21 2012 - 15:00:48 EST


This patch is intended to fix a deadlock seen in -rt. Untested, might
not even compile. The intent is to move kthread_stop() outside of
the CPU-hotplug lock, thus preventing deadlocks involving sleeping
spinlocks.

Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index 8c26a49..e0d514b 100644
--- a/kernel/rcutree.c
+++ b/kernel/rcutree.c
@@ -2041,8 +2041,7 @@ static int __cpuinit rcu_cpu_notify(struct notifier_block *self,
rcu_send_cbs_to_online(&rcu_sched_state);
rcu_preempt_send_cbs_to_online();
break;
- case CPU_DEAD:
- case CPU_DEAD_FROZEN:
+ case CPU_POST_DEAD:
case CPU_UP_CANCELED:
case CPU_UP_CANCELED_FROZEN:
rcu_offline_cpu(cpu);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/