From: Oleg Nesterov 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 Cc: "Rafael J. Wysocki" Cc: Gautham R Shenoy Signed-off-by: Andrew Morton --- include/linux/workqueue.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN include/linux/workqueue.h~make-freezeable-workqueues-singlethread include/linux/workqueue.h --- a/include/linux/workqueue.h~make-freezeable-workqueues-singlethread +++ a/include/linux/workqueue.h @@ -122,7 +122,7 @@ extern struct workqueue_struct *__create 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) #define create_singlethread_freezeable_workqueue(name) \ __create_workqueue((name), 1, 1) _