workqueues: schedule_on_each_cpu() can use schedule_work_on()
authorOleg Nesterov <oleg@tv-sign.ru>
Fri, 25 Jul 2008 08:47:53 +0000 (01:47 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 25 Jul 2008 17:53:40 +0000 (10:53 -0700)
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>
kernel/workqueue.c

index fe08a8512ddddd5e8081ec33718cbc91584d8c79..7cf430372f8981e82ae884e409c214439ed98d23 100644 (file)
@@ -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));