summary refs log tree commit diff stats
path: root/system/cpu-timers.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-08-01 13:50:04 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2025-09-17 19:00:55 +0200
commitf8217ae54e4c44a7f0d20d56a5368ec1818f1cc2 (patch)
treeee2fe1ada00d338c8f5de57263ed0aa03debdeee /system/cpu-timers.c
parentdcb46ecb2e90d532fcdc04702c92e732a0ef77e8 (diff)
downloadfocaccia-qemu-f8217ae54e4c44a7f0d20d56a5368ec1818f1cc2.tar.gz
focaccia-qemu-f8217ae54e4c44a7f0d20d56a5368ec1818f1cc2.zip
cpus: properly kick CPUs out of inner execution loop
Now that cpu_exit() actually kicks all accelerators, use it whenever
the message to another thread is processed in qemu_wait_io_event().

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'system/cpu-timers.c')
-rw-r--r--system/cpu-timers.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/system/cpu-timers.c b/system/cpu-timers.c
index cb35fa62b8..9919b46230 100644
--- a/system/cpu-timers.c
+++ b/system/cpu-timers.c
@@ -246,14 +246,14 @@ void qemu_timer_notify_cb(void *opaque, QEMUClockType type)
 
     if (qemu_in_vcpu_thread()) {
         /*
-         * A CPU is currently running; kick it back out to the
+         * A CPU is currently running; send it out of the
          * tcg_cpu_exec() loop so it will recalculate its
          * icount deadline immediately.
          */
-        qemu_cpu_kick(current_cpu);
+        cpu_exit(current_cpu);
     } else if (first_cpu) {
         /*
-         * qemu_cpu_kick is not enough to kick a halted CPU out of
+         * cpu_exit() is not enough to kick a halted CPU out of
          * qemu_tcg_wait_io_event.  async_run_on_cpu, instead,
          * causes cpu_thread_is_idle to return false.  This way,
          * handle_icount_deadline can run.