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

From: Ingo Molnar
Date: Tue Jan 27 2009 - 07:43:50 EST



* Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:

> On Tue, Jan 27, 2009 at 03:07:27AM +0000, Alasdair G Kergon wrote:
> > On Tue, Jan 27, 2009 at 01:17:11AM +0100, Frederic Weisbecker wrote:
> > > For several reasons:
> > > _ Unneeded built drivers for my system that create workqueue(s) when they init
> > > _ Services which need their own workqueue, for several reasons, but who receive
> > > very rare jobs (often never)
> >
> > > I hadn't any problems until now with this patch but I think it needs more testing,
> > > like with cpu hotplug, and some renaming for its functions and structures...
> > > And I would like to receive some comments and feelings before continuing. So this
> > > is just an RFC :-)
> >
> > Make sure this optimisation also works when the system's running low
> > on memory if workqueues are involved in "making forward progress".
> > Doubtless there are other reasons for apparently-unused workqueues
> > too.
>
> That's true. But currently, each useless workqueue thread is consuming a
> task_struct in memory, so this patch makes actually consuming less
> memory than before. If the system is running low on memory...well
> perhaps I can reschedule the thread creation after some delays...?

Lets put a warning in there to make sure it's not forgotten - and deal
with it if it happens.

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