Re: Overview of concurrency managed workqueue

From: Andi Kleen
Date: Sat Jun 19 2010 - 05:08:58 EST


> I see. The thing is that if you have "as soon as possible" + "high
> priority", you're basically required to have a dedicated worker or
> dedicated pool of them. Making cmwq to support some level of priority
> definitely is possible (multiple prioritized queues or pushing work at
> the front at the simplest) but for such emergency works it doesn't
> make sense to share the usual worker pool, as resource pressure can
> easily make any work wait regardless of where they're in the queue.

I think it's reasonable to just put on front. The individual
items shouldn't take that long, right?

(in fact I have an older patch for work queues which implemented
that)

> If there are multiple of such use cases, it would make sense to create
> a prioritized worker pools along with prioritized per-cpu queues but
> if there are only a few of them, I think it makes more sense to use
> dedicated threads for them. Do those threads need to be per-cpu?

Not strictly, although it might be useful on a error flood when
a whole DIMM goes bad.

-Andi

--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
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/