cvs commit: src/sys/kern sched_ule.c
Julian Elischer
julian at elischer.org
Mon Dec 13 11:17:38 PST 2004
The whole problem that "slots" is trying to solve is to stop a single
process
from being able to flood the system with threads and therefore make the
system
unfair in its favour.
The "slots" method is really suitable for the 4bsd scheduler but it is
really
not so good for ULE (at least I think that there are probably better
ways that
ULE could implement fairness).
What I think should happen at this stage is that the inclusion of
kern_switch.c
should be replaced by actually copying the contents of that file into
the two
schedulers and that they be permitted to diverge. This would allow ULE and
BSD to be cleaned up in terms of the sched_td/kse hack (where they are in
fact the same structure, but to keep diffs to a minimum I defined one in
terms of the other with macros).
It would also allow jeff to experiment absolutly freely on how ULE might
implement fairness without any constraints of worrying about the BSD
scheduler, and visa versa.
I have been hesitant to do this because there was some (small) amount of
work going on in the shared file, but I think it is time to cut the
umbilical
cord. If ULE is really fixed then this would be a good time to break
them apart,
and delete kern_switch.c (or at least move most of the stuff in it out
to the
two schedulers). This would protect ULE from future problems being
"imported" from BSD for example.
comments?
More information about the freebsd-current
mailing list