Re: [PATCH 15/19] workqueue: reimplement workqueue flushing using color coded works

Linus Torvalds
2009-10-01T17:05:25Z

On Thu, 1 Oct 2009, Tejun Heo wrote:
>
> Reimplement workqueue flushing using color coded works. There are two
> colors and each cwq has the current color which is painted on the
> works being issued via the cwq. Flushing a workqueue is achieved by
> flipping the current colors of each cwq and wait for the works which
> have the old color to drain.

Is there any reason for the "two colors" choice? I could imagine that it
could end up being a limitation (and possible deadlock?) to allow just a
single flush pending at any time.

Could the color be an 8-bit counter or something like that instead?

Linus