[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20080715081210.GC22068@localhost.localdomain>
Date: Tue, 15 Jul 2008 17:12:10 +0900
From: Akinobu Mita <akinobu.mita@...il.com>
To: linux-kernel@...r.kernel.org
Subject: [PATCH] workqueue: proper error unwinding in cpu hotplug error path
Add proper error unwinding in error path in CPU_UP_PREPARE notifier.
Signed-off-by: Akinobu Mita <akinobu.mita@...il.com>
---
kernel/workqueue.c | 9 +++++++++
1 file changed, 9 insertions(+)
Index: 2.6-mmotm/kernel/workqueue.c
===================================================================
--- 2.6-mmotm.orig/kernel/workqueue.c
+++ 2.6-mmotm/kernel/workqueue.c
@@ -928,6 +928,15 @@ static int __devinit workqueue_cpu_callb
break;
printk(KERN_ERR "workqueue [%s] for %i failed\n",
wq->name, cpu);
+
+ list_for_each_entry_continue_reverse(wq, &workqueues,
+ list) {
+ cwq = per_cpu_ptr(wq->cpu_wq, cpu);
+ start_workqueue_thread(cwq, -1);
+ cleanup_workqueue_thread(cwq);
+ }
+ cpu_clear(cpu, cpu_populated_map);
+
return NOTIFY_BAD;
case CPU_ONLINE:
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists