workqueue: fix zero @delay handling of queue_delayed_work_on()
authorTejun Heo <tj@kernel.org>
Fri, 3 Aug 2012 17:30:46 +0000 (10:30 -0700)
committerTejun Heo <tj@kernel.org>
Fri, 3 Aug 2012 17:30:46 +0000 (10:30 -0700)
commit715f1300802e6eaefa85f6cfc70ae99af3d5d497
tree1348231ae08bcb722e860aebe2e46a0565a86fd7
parent57469821fd5c61f25f783827d7334063cff67d65
workqueue: fix zero @delay handling of queue_delayed_work_on()

If @delay is zero and the dealyed_work is idle, queue_delayed_work()
queues it for immediate execution; however, queue_delayed_work_on()
lacks this logic and always goes through timer regardless of @delay.

This patch moves 0 @delay handling logic from queue_delayed_work() to
queue_delayed_work_on() so that both functions behave the same.

Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/workqueue.c