Re: [RFC PATCHSET] workqueue: implement concurrency managed workqueue

Tejun Heo
2009-10-01T16:44:53Z

Hello,

Ingo Molnar wrote:
> Ok, this looks fairly interesting - and the way you reused scheduler
> classes to auto-regulate with no impact on regular performance is quite
> an ingenious idea as well. (KVM's preempt notifiers should probably use
> this trick too, instead of an ugly notifier in the scheduler hotpath)
>
> This mechanism could be used to implement threadlets/syslets too btw.,
> and other forms of asynchronous IO.
>
> My main worry is that in practice workqueues arent all that performance
> critical - so we are shooting to optimize something that doesnt
> necessarily use all the potential goodness inherent in this approach.

The scheduler code was pretty nice to hook into. But as Jens said,
this patchset is more about getting the async framework which can
scale and be used universally. Performance-wise, I was mainly aiming
for not introducing noticeable slow down as I expect workqueues to be
used more widely with this change. Workqueue is already pretty
heavily used in certain paths - ie. block IO completion path with SSDs
and any signficant overhead would be noticeable. With mixture of
different works of different run time, I think the net effect would be
positive. It should be able to achieve better latency and throughput.
I don't have any numbers to back my rather optimistic projection yet
tho.

Thanks.

--
tejun