Re: [PATCH 03/19] scheduler: implement workqueue scheduler class

Linus Torvalds
2009-10-01T16:59:56Z

On Thu, 1 Oct 2009, Tejun Heo wrote:
>
> Implement workqueue scheduler class. Workqueue sched_class inherits
> fair sched_class and behaves exactly the same as sched_class except
> that it has two callback functions which get called when a task is put
> to sleep and wakes up and doesn't allow switching to different
> scheduler class.

So this looks odd to me.

I agree completely with the callback functions, but what I don't agree
with is that this is somehow workqueue-related. I bet that others could
use this, and in fact, I suspect that it should not be tied to the
scheduler class at all, but to the _thread_.

Just as an example, I could imagine that we would do lock_kernel()
releasing the kernel lock on scheduling (and re-taking it on wakeup) as a
callback. Or async IO handling - both done independently of any
"workqueue" logic.

So tying this to the scheduler class seems a bit odd. But maybe I'm
missing something?

Linus