From 17a8f68d605cf5311e45929adb896fc8faeadbdc Mon Sep 17 00:00:00 2001 From: Balazs Gerofi Date: Thu, 26 Sep 2019 12:21:00 +0900 Subject: [PATCH] set_timer(): treat spin wait as PS_RUNNING Change-Id: Iea1ad5b0a49a12d5e1aef38ad68fccb8d789af5e --- kernel/process.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/process.c b/kernel/process.c index f656e08a..b8224146 100644 --- a/kernel/process.c +++ b/kernel/process.c @@ -3328,7 +3328,7 @@ void set_timer(int runq_locked) } list_for_each_entry(thread, &v->runq, sched_list) { - if (thread->status != PS_RUNNING) { + if (thread->status != PS_RUNNING && !thread->spin_sleep) { continue; } num_running++; @@ -3338,7 +3338,7 @@ void set_timer(int runq_locked) if (num_running > 1 || v->current->itimer_enabled || !list_empty(&v->backlog_list)) { if (!cpu_local_var(timer_enabled)) { - lapic_timer_enable(/*10000000*/1000000); + lapic_timer_enable(1000000); cpu_local_var(timer_enabled) = 1; } }