[Top][All Lists]

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

Re: [Qemu-devel] [PATCH v6 01/13] block: Add op blocker type "device IO"

From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH v6 01/13] block: Add op blocker type "device IO"
Date: Thu, 28 May 2015 12:52:31 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

On 28/05/2015 12:46, Fam Zheng wrote:
>> > 
>> > Mirror needs to pause/resume the source.  It doesn't need to handle
>> > pause/resume of the target, does it?
>> > 
>>> > > So, in order for the solution to be general, and complete, this 
>>> > > nofitier list
>>> > > approach relies on the listening devices to do the right thing, which 
>>> > > requires
>>> > > modifying all of them, and is harder to maintain.
>> > 
>> > Isn't it only devices that use aio_set_event_notifier for their ioeventfd?
> I think it's only the case for qmp_transaction, mirror job needs all block
> devices to implement pause: mirror_run guarantees source and target in sync
> when it returns; but bdrv_swap is deferred to a main loop bottom half -  what
> if there is a guest write to source in between?

Whoever uses ioeventfd needs to implement pause/resume, yes---not just
dataplane, also "regular" virtio-blk/virtio-scsi.

However, everyone else should be okay, because the bottom half runs
immediately and the big QEMU lock is not released in the meanwhile.  So
the CPUs have no occasion to run.  This needs a comment!


reply via email to

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