Files
linux/kernel
Oleg Nesterov 14441960e8 simplify cleanup_workqueue_thread()
cleanup_workqueue_thread() and cwq_should_stop() are overcomplicated.

Convert the code to use kthread_should_stop/kthread_stop as was
suggested by Gautham and Srivatsa.

In particular this patch removes the (unlikely) busy-wait loop from the
exit path, it was a temporary and ugly kludge (if not a bug).

Note: the current code was designed to solve another old problem:
work->func can't share locks with hotplug callbacks.  I think this could
be done, see

	http://marc.info/?l=linux-kernel&m=116905366428633

but this needs some more complications to preserve CPU affinity of
cwq->thread during cpu_up().  A freezer-based hotplug looks more
appealing.

[akpm@linux-foundation.org: make it more tolerant of gcc borkenness]
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Zilvinas Valinskas <zilvinas@wilibox.com>
Cc: Gautham R Shenoy <ego@in.ibm.com>
Cc: Srivatsa Vaddagiri <vatsa@in.ibm.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-23 20:14:13 -07:00
..
2007-05-23 20:14:12 -07:00
2007-05-11 05:38:25 -04:00
2007-05-11 05:38:26 -04:00
2007-05-23 20:14:12 -07:00
2007-05-23 20:14:11 -07:00
2007-05-09 12:30:55 -07:00
2007-05-09 12:30:55 -07:00
2006-12-07 08:39:36 -08:00
2006-12-04 02:00:22 -05:00
2007-05-09 07:26:28 +02:00
2007-05-09 12:30:56 -07:00
2007-05-21 09:18:19 -07:00
2007-05-11 05:38:25 -04:00
2007-05-09 12:30:55 -07:00
2007-05-09 12:30:55 -07:00
2005-04-16 15:20:36 -07:00
2007-05-23 20:14:12 -07:00
2007-05-11 08:29:35 -07:00
2007-05-14 12:13:11 -07:00
2006-12-07 08:39:25 -08:00
2007-05-09 08:57:56 +02:00