Commit Graph

257 Commits

Author SHA1 Message Date
jeff
c6d199a14d - Stop abusing oncpu for our cpu binding. Define a scheduler local element
in the kse datastructure called ke_cpu.  This is the cpu which we are
   currently bound to.  Some flags may be added later to support hard binding.
2003-02-03 02:26:28 +00:00
scottl
c0109dece2 Use hz if stathz is zero. Adopted from sched_4bsd. 2003-02-02 08:24:32 +00:00
jeff
aecaf33831 - Use ksq_load as the authoritive count of kses on the pair of kseqs for
sched_runnable() et all.
 - Remove some dead code in sched_clock().
 - Define two macros KSEQ_SELF() and KSEQ_CPU() for getting the kseq of the
   current cpu or some alternate cpu.
 - Start introducing kseq_() functions, such as kseq_choose() and kseq_setup().
2003-01-29 07:00:51 +00:00
jeff
493b743362 - Remove debugging code that didn't work on UP. 2003-01-29 00:26:47 +00:00
jeff
ea90c5e5d4 - Allow idle's pctcpu time to be calculated. 2003-01-28 09:30:17 +00:00
jeff
4b57d52c50 - Fix the ksq_load calculation. It now reflects the number of entries on the
run queue for each cpu.
 - Introduce kse stealing into the sched_choose() code.  This helps balance
   cpus better in cases where process turnover is high.  This implementation
   is fairly trivial and will likely be only a temporary measure until
   something more sophisticated has been written.
2003-01-28 09:28:20 +00:00
jeff
f8d3c4423d - Add the ule scheduler. This is intended to be a general purpose process
scheduler with many SMP benefits.  It is still very experimental and should
   be used only in test environments.
2003-01-26 05:23:15 +00:00