Message ID | e2ec86881d767207abbcdc9e49d2aa389e1689b1.1348568074.git.viresh.kumar@linaro.org |
---|---|
State | Accepted |
Headers | show |
On Tue, Sep 25, 2012 at 04:06:07PM +0530, Viresh Kumar wrote: > flush_delayed_work() and flush_delayed_work_sync() had major portion of code > similar. This patch introduces another routine __flush_delayed_work() which > contains the common part to avoid code duplication. This part has seen a lot of update in pending wq/for-3.7 branch. Please rebase on top of that. git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-3.7 Thanks.
On 25 September 2012 23:17, Tejun Heo <tj@kernel.org> wrote: > On Tue, Sep 25, 2012 at 04:06:07PM +0530, Viresh Kumar wrote: >> flush_delayed_work() and flush_delayed_work_sync() had major portion of code >> similar. This patch introduces another routine __flush_delayed_work() which >> contains the common part to avoid code duplication. > > This part has seen a lot of update in pending wq/for-3.7 branch. > Please rebase on top of that. > > git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git for-3.7 So, this patch is not required anymore. As they are already merged :)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 692d976..692a55b 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -2820,6 +2820,13 @@ bool cancel_work_sync(struct work_struct *work) } EXPORT_SYMBOL_GPL(cancel_work_sync); +static inline void __flush_delayed_work(struct delayed_work *dwork) +{ + if (del_timer_sync(&dwork->timer)) + __queue_work(raw_smp_processor_id(), + get_work_cwq(&dwork->work)->wq, &dwork->work); +} + /** * flush_delayed_work - wait for a dwork to finish executing the last queueing * @dwork: the delayed work to flush @@ -2834,9 +2841,7 @@ EXPORT_SYMBOL_GPL(cancel_work_sync); */ bool flush_delayed_work(struct delayed_work *dwork) { - if (del_timer_sync(&dwork->timer)) - __queue_work(raw_smp_processor_id(), - get_work_cwq(&dwork->work)->wq, &dwork->work); + __flush_delayed_work(dwork); return flush_work(&dwork->work); } EXPORT_SYMBOL(flush_delayed_work); @@ -2855,9 +2860,7 @@ EXPORT_SYMBOL(flush_delayed_work); */ bool flush_delayed_work_sync(struct delayed_work *dwork) { - if (del_timer_sync(&dwork->timer)) - __queue_work(raw_smp_processor_id(), - get_work_cwq(&dwork->work)->wq, &dwork->work); + __flush_delayed_work(dwork); return flush_work_sync(&dwork->work); } EXPORT_SYMBOL(flush_delayed_work_sync);
flush_delayed_work() and flush_delayed_work_sync() had major portion of code similar. This patch introduces another routine __flush_delayed_work() which contains the common part to avoid code duplication. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> --- kernel/workqueue.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-)