Re: [RFC][PATCH] create workqueue threads only when needed

From: Oliver Neukum
Date: Wed Feb 04 2009 - 04:53:53 EST


Am Monday 02 February 2009 21:44:17 schrieb Benjamin Herrenschmidt:
>
> > > Something such as slow-work or async funcs (not sure about the later, I
> > > have to look at the implementation) but the basic idea is to have a pool
> > > of threads for "generic" delayed work, when its busy, pick another one,
> > > and the pool itself should resize if there's too much pressure.
> >
> > And all that without using GFP_KERNEL?
>
> Not too hard. There are options here, one is to keep always one thread
> available in the pool that will create new ones, one is to hop via
> keventd for the creation, which is still better than spending 200ms
> resetting a network NIC, etc...

But how does that solve the underlying problem of not being
allowed to hit the block layer? It seems to me you cannot do
without dedicated threads for block error handling. In fact, given
how rare this is, why not start one and share it?

Regards
Oliver

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