Messages in this thread | | | Date | Mon, 2 Feb 2009 12:26:31 +0100 | From | Frederic Weisbecker <> | Subject | Re: [RFC][PATCH] create workqueue threads only when needed |
| |
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. >
| |