Ok, I have new BFS, dpart, and wd patches incorporated. I did a fix for the
kernel debugger screen swapping this weekend, but mostly I did work on cisco
stuff (bleh, REAL work) and tweaks to the CPU scheduler. Found an
out-and-out bug which explains why a CPU-bound process doesn't timeslice
very nicely, plus did some optimizations which appear to help a little. One
more pass and I'll add the "cheated" queue, which will help sporadically run
processes by giving them preference to complete their CPU quanta over CPU
hogs which are always grinding through all of theirs.
I also code-read the "real-time" parts of the scheduler, and will be tearing
out the current scheme in favor of a one which co-exists better with the
main hierarchical scheduler. I think I can set it up so that not only can
you have a full range of real-time priorities in a global system, but you
can also have threads and processes schedule among themselves in a real-time
fashion while working from a lower node in the scheduling tree. So you can
have a group of threads which receives, say, 30% of the CPU from the system,
but then run among themselves in a non-degrading, strictly prioritized
order. Not sure if this is useful in practice, but it falls out for free so
I may as well play with it.
Regards,
Andy
Received on Mon Mar 7 09:56:12 1994
This archive was generated by hypermail 2.1.8 : Wed Sep 21 2005 - 21:02:16 PDT