Re: [PATCH 00/10] workqueue: restructure flush_workqueue() andstart all flusher at the same time

From: Tejun Heo
Date: Wed Sep 26 2012 - 13:04:36 EST


Hello, again.

On Wed, Sep 26, 2012 at 09:49:58AM -0700, Tejun Heo wrote:
> > The simple version of flush_workqueue() which I sent yesterday is "chained",
> > because it forces overflow flushers wait for free color and forces only one
> > flusher for one color.
> >
> > Since "not chaining" is important/essential. I sent a new draft implement today.
> > it uses multiple queues, one for each color(like SRCU).
> > this version is also simple, it remove 90 LOC.
>
> I'll review your patch but the current implementation is enough on
> that regard. I was trying to advise against going for two-color
> scheme.

So, I like it. Two things.

* I think we still want to optimize noop case. IOW, please keep the
early exit path for cases where there's no work item to flush.

* Can you please redo the patch series so that it doesn't go too much
roundabout?

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/