Re: [PATCH 2 of 4] Introduce i386 fibril scheduling

From: Linus Torvalds
Date: Fri Feb 02 2007 - 16:10:35 EST




On Fri, 2 Feb 2007, Davide Libenzi wrote:
>
> Actually, coroutines are not too bad to program once you have a
> total-coverage async scheduler to run them.

No, no, I don't disagree at all. In fact, I agree emphatically.

It's just that you need the scheduler to run them, in order to not "see"
them as coroutines. Then, you can program everything *as*if* it was just a
regular declarative linear language with multiple threads).

And that gets us the same programming interface as we always have, and
people can forget about the fact that in a very real sense, they are using
coroutines with the scheduler just keeping track of it all for them.

After all, that's what we do between processes *anyway*. You can
technically see the kernel as one big program that uses coroutines and the
scheduler just keeping track of every coroutine instance. It's just that I
doubt that any kernel programmer really thinks in those terms. You *think*
in terms of "threads".

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/