diff options
| author | Oleg Nesterov <[email protected]> | 2007-05-23 13:57:57 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2007-05-23 20:14:13 -0700 |
| commit | 14441960e8c27a64487e0b455b323e784f33583f (patch) | |
| tree | bc224f965db3951edbbee7e776e334187b5a32d6 /include/linux/debugobjects.h | |
| parent | 3fcbc72965f767bb5c4518aef754c28f45fc6147 (diff) | |
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.
[[email protected]: make it more tolerant of gcc borkenness]
Signed-off-by: Oleg Nesterov <[email protected]>
Cc: Zilvinas Valinskas <[email protected]>
Cc: Gautham R Shenoy <[email protected]>
Cc: Srivatsa Vaddagiri <[email protected]>
Cc: "Rafael J. Wysocki" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions