#
783caefb |
| 10-Feb-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Enable STRICT_RESCHED until code that dynamically decides on resched strictness based on the current workload is finished.
|
#
407b0157 |
| 10-Feb-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Add a new variable 'kg_runtime' that tracks the amount of time we've run. - Use the ratio of kg_runtime / kg_slptime to determine our dynamic priority. - Scale kg_runtime and kg_slptime back when
- Add a new variable 'kg_runtime' that tracks the amount of time we've run. - Use the ratio of kg_runtime / kg_slptime to determine our dynamic priority. - Scale kg_runtime and kg_slptime back when the sum of the two exceeds SCHED_SLP_RUN_MAX. This allows us to slowly forget old behavior. - Scale back the runtime and slptime in fork so that the new process has the same ratio but much less accumulated time. This causes new behavior to be noticed more quickly.
show more ...
|
#
5d7ef00c |
| 03-Feb-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Make some context switches conditional on SCHED_STRICT_RESCHED. This may have some negative effect on interactivity but it yields great perf. gains. This also brings the conditions under whi
- Make some context switches conditional on SCHED_STRICT_RESCHED. This may 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.
show more ...
|
#
cd6e33df |
| 03-Feb-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- 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 la
- 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.
show more ...
|
#
7121cce5 |
| 02-Feb-2003 |
Scott Long <scottl@FreeBSD.org> |
Use hz if stathz is zero. Adopted from sched_4bsd.
|
#
0a016a05 |
| 29-Jan-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- 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 get
- 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().
show more ...
|
#
bf857e69 |
| 29-Jan-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Remove debugging code that didn't work on UP.
|
#
d465fb95 |
| 28-Jan-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- Allow idle's pctcpu time to be calculated.
|
#
c9f25d8f |
| 28-Jan-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- 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
- 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.
show more ...
|
#
35e6168f |
| 26-Jan-2003 |
Jeff Roberson <jeff@FreeBSD.org> |
- 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.
|