summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-11-19 00:50:35 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-11-19 00:50:35 +0100
commitd1f39c38df5aee6df6661bcae2c2ca9f79428a8f (patch)
tree30144480ea132d44f2e115d74d3c0e2493358e31
parent93cafb79a88ff23696c26c54e5aceff31b6b0a15 (diff)
Make scheduling more reactive
Give smaller quantums to processes, to get more frequent context switches. This fixes some reactivity for concurrent processes. * kern/sched.h (MIN_QUANTUM): Define to hz / 33. * kern/sched_prim.c (sched_init): Use MIN_QUANTUM instead of hz / 10.
-rw-r--r--kern/sched.h1
-rw-r--r--kern/sched_prim.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/kern/sched.h b/kern/sched.h
index c401f0f5..8a4ec75b 100644
--- a/kern/sched.h
+++ b/kern/sched.h
@@ -113,6 +113,7 @@ extern queue_head_t action_queue; /* assign/shutdown queue */
decl_simple_lock_data(extern,action_lock);
extern int min_quantum; /* defines max context switch rate */
+#define MIN_QUANTUM (hz / 33) /* context switch 33 times/second */
/*
* Default base priorities for threads.
diff --git a/kern/sched_prim.c b/kern/sched_prim.c
index 3834171d..423c6c0e 100644
--- a/kern/sched_prim.c
+++ b/kern/sched_prim.c
@@ -153,7 +153,7 @@ void sched_init(void)
recompute_priorities_timer.fcn = recompute_priorities;
recompute_priorities_timer.param = NULL;
- min_quantum = hz / 10; /* context switch 10 times/second */
+ min_quantum = MIN_QUANTUM;
wait_queue_init();
pset_sys_bootstrap(); /* initialize processor mgmt. */
queue_init(&action_queue);