On Wed, Nov 17, 2010 at 8:49 PM, Michael S. Tsirkin <m...@redhat.com> wrote: > On Wed, Nov 17, 2010 at 08:38:25PM +0000, Stefan Hajnoczi wrote: >> On Wed, Nov 17, 2010 at 6:01 PM, Michael S. Tsirkin <m...@redhat.com> wrote: >> > On Wed, Nov 17, 2010 at 04:19:25PM +0000, Stefan Hajnoczi wrote: >> >> The v4 version includes: >> >> * Simpler start/stop ioeventfd mechanism using bool ioeventfd_started >> >> state >> >> * Support for migration >> >> * Handle deassign race condition to avoid dropping a virtqueue kick >> >> * Add missing kvm_enabled() check to kvm_has_many_ioeventfds() >> >> * Documentation updates for qdev -device with ioeventfd=on|off >> > >> > Anthony, could you pls remind me what did you say >> > about need to stop these threads on migration vmstop? >> > Or am I confusing this with something else? >> >> Two points about the VM change state: >> 1. It is used to bring up virtio-ioeventfd on the destination host >> after migration. >> 2. It handles the race condition where a virtqueue kick is dropped >> because we deassign the ioeventfd on the source host. >> >> So I've implemented the VM change state to get correct migration behavior. >> >> The discussion you had with Anthony was more about events happening >> while the VM is paused and how that could interfere with guest state >> for migration IIRC. >> >> Stefan > > Exactly. Could your patches cause a situation where block virtio ring > is used after migration stopped a VM?
No, when the VM is stopped we deassing the ioeventfd and remove its fd handler. Because the fd handler is removed no more events will be processed. Stefan