summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2007-05-09 09:34:19 (GMT)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-09 19:30:52 (GMT)
commit23b2e5991afde5af91a1a661d7f47ee56120759e (patch)
treed4b8e5bc1a311abd6b6de469f862a8b53c5f9f36 /kernel
parentc214b2cc5f9be7c236f9b91acf524688ff0e3e72 (diff)
downloadlinux-23b2e5991afde5af91a1a661d7f47ee56120759e.tar.xz
workqueue: kill NOAUTOREL works
We don't have any users, and it is not so trivial to use NOAUTOREL works correctly. It is better to simplify API. Delete NOAUTOREL support and rename work_release to work_clear_pending to avoid a confusion. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Acked-by: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/workqueue.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 41eaffd..0611de8 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -246,8 +246,7 @@ static void run_workqueue(struct cpu_workqueue_struct *cwq)
spin_unlock_irq(&cwq->lock);
BUG_ON(get_wq_data(work) != cwq);
- if (!test_bit(WORK_STRUCT_NOAUTOREL, work_data_bits(work)))
- work_release(work);
+ work_clear_pending(work);
f(work);
if (unlikely(in_atomic() || lockdep_depth(current) > 0)) {
@@ -453,7 +452,7 @@ void flush_work(struct workqueue_struct *wq, struct work_struct *work)
*/
spin_lock_irq(&cwq->lock);
list_del_init(&work->entry);
- work_release(work);
+ work_clear_pending(work);
spin_unlock_irq(&cwq->lock);
for_each_cpu_mask(cpu, *cpu_map)