From d1f39c38df5aee6df6661bcae2c2ca9f79428a8f Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Mon, 19 Nov 2018 00:50:35 +0100 Subject: 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. --- kern/sched.h | 1 + kern/sched_prim.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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); -- cgit v1.2.3