Squeak process implicitly yields?

Lex Spoon lex at cc.gatech.edu
Fri Apr 30 16:03:57 UTC 2004


Masashi Umezawa <umejava at mars.dti.ne.jp> wrote:
> Aha-. Now I see the results. Thanks!
> 
> So, is it intentional? 
> I'm not sure what is the merit. Wouldn't it make the squeak code
> non-portable?

It sounds like would make it non-portable with some Smalltalks and
portable with others.  So we can do what seems right.

IMHO, the processes should go to the beginning of the queue.  That way
we have a coherent implementation of at least *one* strategy: namely,
processes finish what they are doing before they yield.  With the
current state (which I admit surprises me to read about!), you neither
get fair sharing of the CPU nor do you get a guarantee that your process
will finish its current chunk of work.

An alternative choice would be to go whole hog and have preemptive
switching.  I don't know which way is better, but I know there have been
times that I wanted preemption, and I know that I have never yet taken
advantage of non-preemption.  I would even suggest that preemption
across priority levels would be useful; or at least, I would like to
have groups of preemptive processes where some processes have higher
priority than others.



-Lex



More information about the Squeak-dev mailing list