Re: workqueue thing

Stijn Devriendt
2009-12-23T08:17:15Z

On Tue, Dec 22, 2009 at 7:07 PM, Andi Kleen <andi@firstfloor.org> wrote:
> One reason I liked a more dynamic frame work for this is that it
> has the potential to be exposed to user space and allow automatic
> work partitioning there based on available cores.  User space
> has a lot more CPU consumption than the kernel.
>
Basically, this is exactly what I was trying to solve with my
sched_wait_block patch. It was broken in all ways, but the ultimate
goal was to have concurrency managed workqueues (to nick the term)
in userspace and have a way out when I/O hits the workqueue.

I'm currently in the progress of implementing this using perf_events
and hope to send a patch in the near future (probably asking for some
help to solve a couple of my issues).

> I think Grand Central Dispatch does something in this direction.
> TBB would probably also benfit
>
Exactly my goal.
I'd definately be happy if Tejun's work can be generalized to fit userspace
as well. My sched_wait_block patch did exactly what his sched_notifiers
do: notify the workqueue that a new thread should be scheduled to keep
the CPU busy. Although as I understand, Tejun's reason for scheduling
a new thread is rather to avoid deadlocks. Different thing, same way.

Stijn