Re: Overview of concurrency managed workqueue

From: Johannes Berg
Date: Wed Jun 16 2010 - 09:38:17 EST


On Tue, 2010-06-15 at 20:25 +0200, Tejun Heo wrote:

> cmwq extends workqueue with focus on the following goals.
>
> * Workqueue is already very widely used. Maintain compatibility with
> the current API while removing limitations of the current
> implementation.

...

> As multiple execution contexts are available for each wq, deadlocks
> around execution contexts is much harder to create. The default
> workqueue, system_wq, has maximum concurrency level of 256 and unless
> there is a use case which can result in a dependency loop involving
> more than 254 workers, it won't deadlock.

I see a lot of stuff about the current limitations etc., but nothing
about code that actually _relies_ on the synchronisation properties of
the current wqs. We talked about that a long time ago, is it still
guaranteed that a single-threaded wq will serialise all work put onto
it? It needs to be, but I don't see you explicitly mentioning it.

johannes

--
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/