qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] cpu-throttle: reset throttle_thread_scheduled when throttle_perc


From: jinyilingjyl
Subject: [PATCH] cpu-throttle: reset throttle_thread_scheduled when throttle_percentage is 0
Date: Sat, 7 May 2022 17:43:40 +0800

From: yilingjin <yilingjin@tencent.com>

The throttle_thread_scheduled flag is set to 1 in cpu_throttle_timer_tick()
when throttle_percentage isn't 0, and will reset back to 0 after sleeping
in cpu_throttle_thread(). Given that throttle_timer may tick with a slight 
delay,
the throttle_percentage may reset to 0 before schedule cpu_throttle_thread().
This results on cpu_throttle_thread() to return immediately without reset
throttle_thread_scheduled flag back to 0, so there is no longer any chances
for vCPU thread to sleep in cpu_throttle_thread().

Signed-off-by: yilingjin <yilingjin@tencent.com>
---
 softmmu/cpu-throttle.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/softmmu/cpu-throttle.c b/softmmu/cpu-throttle.c
index d9bb30a223..7c2fd26072 100644
--- a/softmmu/cpu-throttle.c
+++ b/softmmu/cpu-throttle.c
@@ -44,6 +44,7 @@ static void cpu_throttle_thread(CPUState *cpu, 
run_on_cpu_data opaque)
     int64_t sleeptime_ns, endtime_ns;
 
     if (!cpu_throttle_get_percentage()) {
+        qatomic_set(&cpu->throttle_thread_scheduled, 0);
         return;
     }
 
-- 
2.27.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]