[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH V5 02/12] cpus: stop vm in suspended state
From: |
Steve Sistare |
Subject: |
[PATCH V5 02/12] cpus: stop vm in suspended state |
Date: |
Mon, 13 Nov 2023 10:33:50 -0800 |
A vm in the suspended state is not completely stopped. The VCPUs have been
paused, but the cpu clock still runs, and runstate notifiers for the
transition to stopped have not been called. Modify vm_stop_force_state to
completely stop the vm if the current state is suspended, to be called for
live migration and snapshots.
Suggested-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
---
system/cpus.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/system/cpus.c b/system/cpus.c
index f72c4be..c772708 100644
--- a/system/cpus.c
+++ b/system/cpus.c
@@ -255,6 +255,8 @@ void cpu_interrupt(CPUState *cpu, int mask)
static int do_vm_stop(RunState state, bool send_stop, bool force)
{
int ret = 0;
+ bool running = runstate_is_running();
+ bool suspended = runstate_check(RUN_STATE_SUSPENDED);
if (qemu_in_vcpu_thread()) {
qemu_system_vmstop_request_prepare();
@@ -267,10 +269,12 @@ static int do_vm_stop(RunState state, bool send_stop,
bool force)
return 0;
}
- if (runstate_is_running()) {
+ if (running || (suspended && force)) {
runstate_set(state);
cpu_disable_ticks();
- pause_all_vcpus();
+ if (running) {
+ pause_all_vcpus();
+ }
vm_state_notify(0, state);
if (send_stop) {
qapi_event_send_stop();
--
1.8.3.1
- [PATCH V5 00/12] fix migration of suspended runstate, Steve Sistare, 2023/11/13
- [PATCH V5 02/12] cpus: stop vm in suspended state,
Steve Sistare <=
- Re: [PATCH V5 02/12] cpus: stop vm in suspended state, Fabiano Rosas, 2023/11/20
- Re: [PATCH V5 02/12] cpus: stop vm in suspended state, Peter Xu, 2023/11/20
- Re: [PATCH V5 02/12] cpus: stop vm in suspended state, Steven Sistare, 2023/11/20
- Re: [PATCH V5 02/12] cpus: stop vm in suspended state, Peter Xu, 2023/11/20
- Re: [PATCH V5 02/12] cpus: stop vm in suspended state, Steven Sistare, 2023/11/21
- Re: [PATCH V5 02/12] cpus: stop vm in suspended state, Peter Xu, 2023/11/21
- Re: [PATCH V5 02/12] cpus: stop vm in suspended state, Daniel P . Berrangé, 2023/11/22