cloud-hypervisor/vmm/src
Bo Chen 1363891df6 vmm: Avoid deadlock from waiting on paused device worker threads
A deadlock can happen from the destination VM of live upgrade or
migration due to waiting on paused device worker threads. For example,
when a serialization error happens after the `DeviceManager` struct is
restored (where all virtio device worker threads are spawned but in
paused/parked state), a deadlock will happen from
`DeviceManager::drop()`, as it blocks for waiting worker threads to
join.

This patch ensures that we wake up all device (mostly virtio) worker
threads before we block for them to join.

Signed-off-by: Bo Chen <chen.bo@intel.com>
2024-03-14 02:07:52 +00:00
..
api vmm: fix openapi queue_affinity config 2024-03-05 09:24:55 +00:00
igvm vmm: pass host data to SevSnp guest 2024-02-23 13:32:56 -08:00
acpi.rs arch: x86_64: handle npot CPU topology 2024-01-01 10:05:03 +00:00
clone3.rs
config.rs vmm: add NVIDIA GPUDirect P2P support 2024-02-29 09:26:29 +00:00
coredump.rs vmm: Automatically pause VM for coredump 2023-07-31 17:05:46 +01:00
cpu.rs vmm: support injecting NMI 2024-03-04 10:02:38 +00:00
device_manager.rs vmm: Avoid deadlock from waiting on paused device worker threads 2024-03-14 02:07:52 +00:00
device_tree.rs vmm: reduce memory copy when BFT device tree 2023-05-15 17:19:48 +01:00
gdb.rs build: Bump gdbstub and gdbstub_arch 2023-12-05 10:50:06 +00:00
interrupt.rs vm-device: support batch update interrupt source group GSI 2023-08-03 15:58:36 +01:00
lib.rs vmm: support injecting NMI 2024-03-04 10:02:38 +00:00
memory_manager.rs misc: Remove redundant "use" imports 2024-02-19 17:54:30 +00:00
migration.rs vmm: speed up JSON load when reading snap files 2023-11-16 14:56:04 -08:00
pci_segment.rs misc: Remove redundant "use" imports 2024-02-19 17:54:30 +00:00
seccomp_filters.rs vmm: hypervisor: Add support for injecting NMI for MSHV guest 2024-03-06 00:12:06 +00:00
serial_manager.rs serial_manager: Remove serial socket 2023-10-05 15:26:29 +01:00
sigwinch_listener.rs vmm: Avoid zombie sigwinch_listener processes 2024-02-19 17:08:47 +00:00
vm_config.rs vmm: add NVIDIA GPUDirect P2P support 2024-02-29 09:26:29 +00:00
vm.rs vmm: support injecting NMI 2024-03-04 10:02:38 +00:00