Re: workqueue thing

Ingo Molnar
2009-12-23T06:03:38Z

* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> Workqueues generally aren't about heavy CPU usage, although some workqueue
> usage has scalability issues. And the most common scalability problem is not
> "I need more than one CPU", but often "I need to run even though another
> workqueue entry is blocked on IO" - iow, it's not about lacking CPU power,
> it's about in-fighting with other workqueue users.
>
> That said, if we can improve on this further, I'd be all for it. I'd love to
> have some generic async model that really works. So far, our async models
> have tended to not really work out well, whether they be softirq's or kernel
> threads (many of the same issues: some subsystems start tons of kernel
> threads just because one kernel thread blocks, not because you need
> multi-processor CPU usage per se). And AIO/threadlets never got anywhere etc
> etc.

Not from lack of trying though ;-)

One key thing i havent seen in this discussion are actual measurements. I
think a lot could be decided by simply testing this patch-set, by looking at
the hard numbers: how much faster (or slower) did a particular key workload
get before/after these patches.

Likewise, if there's a reduction in complexity, that is a tangible metric as
well: lets do a few conversions as part of the patch-set and see how much
simpler things have become as a result of it.

We really are not forced to the space of Gedankenexperiments here.

Ingo