File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -42,6 +42,9 @@ and this project adheres to
4242 ` mem_size_mib ` and ` track_dirty_pages ` being mandatory for all
4343 ` PATCH /machine-config ` requests. Now, they can be omitted which leaves these
4444 parts of the machine configuration unchanged.
45+ - [ #5007 ] ( https://github.com/firecracker-microvm/firecracker/pull/5007 ) : Fixed
46+ watchdog softlockup warning on x86_64 guests when a vCPU is paused during GDB
47+ debugging.
4548
4649## [ 1.10.1]
4750
Original file line number Diff line number Diff line change @@ -319,6 +319,16 @@ impl Vcpu {
319319 // If the emulation requests a pause lets do this
320320 #[ cfg( feature = "gdb" ) ]
321321 Ok ( VcpuEmulation :: Paused ) => {
322+ // Calling `KVM_KVMCLOCK_CTRL` to make sure the guest softlockup watchdog
323+ // does not panic on resume, see https://docs.kernel.org/virt/kvm/api.html .
324+ // We do not want to fail if the call is not successful, because depending
325+ // that may be acceptable depending on the workload.
326+ #[ cfg( target_arch = "x86_64" ) ]
327+ if let Err ( err) = self . kvm_vcpu . fd . kvmclock_ctrl ( ) {
328+ METRICS . vcpu . kvmclock_ctrl_fails . inc ( ) ;
329+ warn ! ( "KVM_KVMCLOCK_CTRL call failed {}" , err) ;
330+ }
331+
322332 return StateMachine :: next ( Self :: paused) ;
323333 }
324334 // Emulation errors lead to vCPU exit.
You can’t perform that action at this time.
0 commit comments