summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-11-04 16:22:17 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-11-04 16:22:17 +0100
commite49947621113a0b6f775b1ffa7105299b59b40d6 (patch)
tree33a70aa3a530ca8e8d346447ede4f062127d5337
parenta597692655389dd10689f597be5c743395a71625 (diff)
Fix using all dynamic priorities
6a2342010811 ("Increase number of priorities") increased NRQS but didn't increase PRI_SHIFT to extend the use of the additional queues by the scheduler. This does it. While at it, extend to NRQS to 64, the double of the original 32, to keep all values coherent. * i386/i386/sched_param.h (PRI_SHIFT): Set from 18 to 17. * kern/sched.h (PRI_SHIFT): Set from 18 to 17. (NRQS): Set to 64.
-rw-r--r--i386/i386/sched_param.h4
-rw-r--r--kern/sched.h6
2 files changed, 5 insertions, 5 deletions
diff --git a/i386/i386/sched_param.h b/i386/i386/sched_param.h
index e7e855f4..c93ed8a2 100644
--- a/i386/i386/sched_param.h
+++ b/i386/i386/sched_param.h
@@ -31,10 +31,10 @@
#define _I386_SCHED_PARAM_H_
/*
- * Sequent requires a right shift of 18 bits to convert
+ * Sequent requires a right shift of 17 bits to convert
* microseconds to priorities.
*/
-#define PRI_SHIFT 18
+#define PRI_SHIFT 17
#endif /* _I386_SCHED_PARAM_H_ */
diff --git a/kern/sched.h b/kern/sched.h
index f82f9f56..c401f0f5 100644
--- a/kern/sched.h
+++ b/kern/sched.h
@@ -47,10 +47,10 @@
#if STAT_TIME
/*
- * Statistical timing uses microseconds as timer units. 18 bit shift
+ * Statistical timing uses microseconds as timer units. 17 bit shift
* yields priorities. PRI_SHIFT_2 isn't needed.
*/
-#define PRI_SHIFT 18
+#define PRI_SHIFT 17
#else /* STAT_TIME */
@@ -60,7 +60,7 @@
#include <machine/sched_param.h>
#endif /* STAT_TIME */
-#define NRQS 50 /* 50 run queues per cpu */
+#define NRQS 64 /* 64 run queues per cpu */
struct run_queue {
queue_head_t runq[NRQS]; /* one for each priority */