Re: Overview of concurrency managed workqueue

From: Johannes Berg
Date: Wed Jun 16 2010 - 09:42:36 EST


On Wed, 2010-06-16 at 15:39 +0200, Tejun Heo wrote:
> On 06/16/2010 03:37 PM, Johannes Berg wrote:
> >> 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.
>
> Oh yeah, if you have WQ_SINGLE_CPU + max inflight of 1, works on the
> wq are fully ordered.

Ok, great, thanks. FWIW, that's pretty much all I care about right
now :)

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/