Messages in this thread | | | Subject | Re: Overview of concurrency managed workqueue | From | Johannes Berg <> | Date | Wed, 16 Jun 2010 15:42:14 +0200 |
| |
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
| |