Re: [PATCH 02/13] workqueue: fix work_busy()

From: Tejun Heo
Date: Tue Feb 05 2013 - 13:53:58 EST


Hello,

On Tue, Feb 05, 2013 at 08:06:54PM +0800, Lai Jiangshan wrote:
> >>@@ -3453,15 +3451,13 @@ unsigned int work_busy(struct work_struct *work)
> >> {
> >> struct worker_pool *pool = get_work_pool(work);
> >> unsigned long flags;
> >>- unsigned int ret = 0;
> >>+ unsigned int ret = work_pending(work) ? WORK_BUSY_PENDING : 0;
> >
> >I'd prefer this as a if() statement.
> >
> >> if (!pool)
> >>- return 0;
> >>+ return ret;
> >
> >I'm a bit confused. When can we be pending w/o pool?
> >
>
> grab the pending bits <==time==> really queued
> ^
> this patch considers the work is busy in this time

Given the advisory nature of the function, why do we care? Is it
needed for later patches?

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/