summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2008-07-25 10:47:53 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-25 19:53:40 +0200
commit8de6d308bab4f67fcf953562f9f08f9527cad72d (patch)
treed896d82088d50a6c9d56300225605c5658f44549
parentworkqueues: queue_work() can use queue_work_on() (diff)
downloadlinux-8de6d308bab4f67fcf953562f9f08f9527cad72d.tar.xz
linux-8de6d308bab4f67fcf953562f9f08f9527cad72d.zip
workqueues: schedule_on_each_cpu() can use schedule_work_on()
schedule_on_each_cpu() can use schedule_work_on() to avoid the code duplication. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--kernel/workqueue.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index fe08a8512ddd..7cf430372f89 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -689,8 +689,7 @@ int schedule_on_each_cpu(work_func_t func)
struct work_struct *work = per_cpu_ptr(works, cpu);
INIT_WORK(work, func);
- set_bit(WORK_STRUCT_PENDING, work_data_bits(work));
- __queue_work(per_cpu_ptr(keventd_wq->cpu_wq, cpu), work);
+ schedule_work_on(cpu, work);
}
for_each_online_cpu(cpu)
flush_work(per_cpu_ptr(works, cpu));