cloud-hypervisor/vmm
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
..
src vmm: Avoid deadlock from waiting on paused device worker threads 2024-03-14 02:07:52 +00:00
Cargo.toml build: Bump zbus from 3.14.1 to 3.15.2 2024-03-05 09:25:06 +00:00