From bbb955b5c5b5cc4eaeb19b38e72b3ee96445e1ca Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Fri, 25 Jul 2008 01:47:53 -0700 Subject: [PATCH] --- yaml --- r: 105952 b: refs/heads/master c: ef1ca236b8d645349ed6569598ae3f6c1b9511c0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/workqueue.c | 11 ++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 2efdff66db0b..2090f7a97b97 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a67da70dc0955580665f5444f318b92e69a3c272 +refs/heads/master: ef1ca236b8d645349ed6569598ae3f6c1b9511c0 diff --git a/trunk/kernel/workqueue.c b/trunk/kernel/workqueue.c index 4fcb75b98443..fe08a8512ddd 100644 --- a/trunk/kernel/workqueue.c +++ b/trunk/kernel/workqueue.c @@ -159,14 +159,11 @@ static void __queue_work(struct cpu_workqueue_struct *cwq, */ int queue_work(struct workqueue_struct *wq, struct work_struct *work) { - int ret = 0; + int ret; + + ret = queue_work_on(get_cpu(), wq, work); + put_cpu(); - if (!test_and_set_bit(WORK_STRUCT_PENDING, work_data_bits(work))) { - BUG_ON(!list_empty(&work->entry)); - __queue_work(wq_per_cpu(wq, get_cpu()), work); - put_cpu(); - ret = 1; - } return ret; } EXPORT_SYMBOL_GPL(queue_work);