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

From: Frederic Weisbecker
Date: Mon Feb 02 2009 - 06:26:58 EST


On Mon, Feb 02, 2009 at 05:00:43PM +1100, Benjamin Herrenschmidt wrote:
> On Mon, 2009-02-02 at 03:24 +0100, Frederic Weisbecker wrote:
> > On Mon, Feb 02, 2009 at 08:37:41AM +1100, Benjamin Herrenschmidt wrote:
> > >
> > > > I don't know, most of those I've looked on are not documented about the reason
> > > > for a private workqueue. I guess most of them can use the usual kevent.
> > >
> > > The main problem with kevent is that it gets clogged up.
> >
> >
> > I don't think so. Here is a snapshot of the workqueue tracer in my
> > box currently:
>
> That's not quite what I meant ...
>
> The main problem with keventd I'd say is that it's used in all sort of
> exeptional code path (ie, driver reset path, error handling, etc...) for
> things that will msleep happily for tenth milliseconds, that sort of
> thing.
> IE. It will be pretty responsive -in general- but can suffer form
> horrible latencies every now and then.


So I think it should be reserved for small, quick jobs which don't sleep for
too much time.
I can improve the workqueue tracer to localize these callsites if needed. And
why not warn on such cases if some kind of option is selected.


> Cheers,
> Ben.
>

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