diff --git a/virtio-devices/src/transport/pci_device.rs b/virtio-devices/src/transport/pci_device.rs index b479d0d8b..61cb722be 100644 --- a/virtio-devices/src/transport/pci_device.rs +++ b/virtio-devices/src/transport/pci_device.rs @@ -673,6 +673,8 @@ impl VirtioPciDevice { info!("{}: Barrier released", self.id); } } + } else { + info!("{}: Device does not need activation", self.id) } } @@ -1018,8 +1020,12 @@ impl PciDevice for VirtioPciDevice { // Try and activate the device if the driver status has changed if self.needs_activation() { - info!("{}: Needs activation; returning barrier", self.id); + info!( + "{}: Needs activation; writing to activate event fd", + self.id + ); self.activate_evt.write(1).ok(); + info!("{}: Needs activation; returning barrier", self.id); return Some(self.activate_barrier.clone()); } diff --git a/vmm/src/lib.rs b/vmm/src/lib.rs index d4ae73a09..b0d70f364 100644 --- a/vmm/src/lib.rs +++ b/vmm/src/lib.rs @@ -1099,10 +1099,14 @@ impl Vmm { } EpollDispatch::ActivateVirtioDevices => { if let Some(ref vm) = self.vm { + let count = self.activate_evt.read().map_err(Error::EventFdRead)?; + info!( + "Trying to activate pending virtio devices: count = {}", + count + ); vm.activate_virtio_devices() .map_err(Error::ActivateVirtioDevices)?; } - self.activate_evt.read().map_err(Error::EventFdRead)?; } EpollDispatch::Api => { // Consume the event.