Messages in this thread | | | Date | Wed, 23 Dec 2009 07:02:29 +0100 | From | Ingo Molnar <> | Subject | Re: workqueue thing |
| |
* 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
| |