qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: [PATCH v4 0/4] virtio: Use ioeventfd for virtqueue


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] Re: [PATCH v4 0/4] virtio: Use ioeventfd for virtqueue notify
Date: Wed, 17 Nov 2010 20:56:01 +0000

On Wed, Nov 17, 2010 at 8:49 PM, Michael S. Tsirkin <address@hidden> 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 <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]