aboutsummaryrefslogtreecommitdiff
path: root/kern/priority.c
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2024-02-23 08:09:55 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2024-02-23 14:00:17 +0100
commitc5754fd61f08e8c1020cccbb9c7b875c33bd0a73 (patch)
tree107e26ba402bd11daa8cdadbececa4cbfaa440b0 /kern/priority.c
parentef98db8f048cf7c70aaa0a16c76ac66954aad12e (diff)
downloadgnumach-c5754fd61f08e8c1020cccbb9c7b875c33bd0a73.tar.gz
gnumach-c5754fd61f08e8c1020cccbb9c7b875c33bd0a73.tar.bz2
gnumach-c5754fd61f08e8c1020cccbb9c7b875c33bd0a73.zip
kern: Use _irq variant of lock and disable interrupts
During quantum adjustment, disable interrupts and call appropriate lock. Message-ID: <20240223080948.457792-1-damien@zamaudio.com>
Diffstat (limited to 'kern/priority.c')
-rw-r--r--kern/priority.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kern/priority.c b/kern/priority.c
index fe11d0d4..7f28b3d7 100644
--- a/kern/priority.c
+++ b/kern/priority.c
@@ -137,14 +137,14 @@ void thread_quantum_update(
if ((quantum != myprocessor->last_quantum) &&
(pset->processor_count > 1)) {
myprocessor->last_quantum = quantum;
- simple_lock(&pset->quantum_adj_lock);
+ s = simple_lock_irq(&pset->quantum_adj_lock);
quantum = min_quantum + (pset->quantum_adj_index *
(quantum - min_quantum)) /
(pset->processor_count - 1);
if (++(pset->quantum_adj_index) >=
pset->processor_count)
pset->quantum_adj_index = 0;
- simple_unlock(&pset->quantum_adj_lock);
+ simple_unlock_irq(s, &pset->quantum_adj_lock);
}
#endif /* NCPUS > 1 */
if (myprocessor->quantum <= 0) {