Open alxiord opened 4 years ago
Adding a bit more detail here:
In a case where the guest is paused by the hypervisor for a non-negligible period of time, that blackout period is seen by the guest as frozen/non-ticking CPUs. On resuming the VM, the guest soft-lockup watchdog might panic.
This ioctl makes KVM on the host set a special flag on the emulated/paravirtualized pv-clock. This flag is seen by the guest and tells the guest that the vCPUs haven't ticked in a while on purpose.
On resuming the VM, the guest soft-lockup watchdog might panic.
Remember seeing any such panics?
This comment in our code looks related https://github.com/firecracker-microvm/firecracker/blob/cb2ea9203da579c2a473f8538815a1e4eb4420d4/src/vmm/src/vstate/vcpu/mod.rs#L299
According to the documentation:
KVM uses this ioctl to notify the guest that it's being paused(code):
In the context of snapshotting a microVM and resuming it later, this ioctl needs to be evaluated to assess its benefits & costs and whether it should be called immediately after pausing or between deserialization and resuming.