summaryrefslogtreecommitdiffstats
path: root/sys/kern/sched_ule.c
Commit message (Collapse)AuthorAgeFilesLines
* - Make some context switches conditional on SCHED_STRICT_RESCHED. This mayjeff2003-02-031-62/+146
| | | | | | | | | | have some negative effect on interactivity but it yields great perf. gains. This also brings the conditions under which ULE context switches inline with SCHED_4BSD. - Define some new kseq_* functions for manipulating the run queue. - Add a new kseq member ksq_rslices and ksq_bload. rslices is the sum of the slices of runnable kses. This will be used for push load balance decisions. bload is the number of threads blocked waiting on IO.
* - Stop abusing oncpu for our cpu binding. Define a scheduler local elementjeff2003-02-031-11/+14
| | | | | 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.
* Use hz if stathz is zero. Adopted from sched_4bsd.scottl2003-02-021-1/+3
|
* - Use ksq_load as the authoritive count of kses on the pair of kseqs forjeff2003-01-291-84/+79
| | | | | | | | 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().
* - Remove debugging code that didn't work on UP.jeff2003-01-291-44/+0
|
* - Allow idle's pctcpu time to be calculated.jeff2003-01-281-6/+6
|
* - Fix the ksq_load calculation. It now reflects the number of entries on thejeff2003-01-281-27/+134
| | | | | | | | 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.
* - Add the ule scheduler. This is intended to be a general purpose processjeff2003-01-261-0/+697
scheduler with many SMP benefits. It is still very experimental and should be used only in test environments.
OpenPOWER on IntegriCloud