make freezeable workqueues singlethread
authorOleg Nesterov <[email protected]>
Thu, 17 May 2007 05:11:11 +0000 (22:11 -0700)
committerLinus Torvalds <[email protected]>
Thu, 17 May 2007 12:23:05 +0000 (05:23 -0700)
It is a known fact that freezeable multithreaded workqueues doesn't like
CPU_DEAD. We keep them only for the incoming CPU-hotplug rework.

Sadly, we can't just kill create_freezeable_workqueue() right now, make
them singlethread.

Signed-off-by: Oleg Nesterov <[email protected]>
Cc: "Rafael J. Wysocki" <[email protected]>
Cc: Gautham R Shenoy <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
include/linux/workqueue.h

index d555f31c0746a31a50f376ca41ed2cbcf48742fe..7eae8665ff597b0f2ac7bf139a4184fb5825d9ef 100644 (file)
@@ -122,7 +122,7 @@ extern struct workqueue_struct *__create_workqueue(const char *name,
                                                    int singlethread,
                                                    int freezeable);
 #define create_workqueue(name) __create_workqueue((name), 0, 0)
-#define create_freezeable_workqueue(name) __create_workqueue((name), 0, 1)
+#define create_freezeable_workqueue(name) __create_workqueue((name), 1, 1)
 #define create_singlethread_workqueue(name) __create_workqueue((name), 1, 0)
 
 extern void destroy_workqueue(struct workqueue_struct *wq);