qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [Qemu-devel] [PATCH v6 01/13] block: Add op blocker typ


From: Fam Zheng
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH v6 01/13] block: Add op blocker type "device IO"
Date: Thu, 28 May 2015 19:11:24 +0800
User-agent: Mutt/1.5.23 (2014-03-12)

On Thu, 05/28 12:52, Paolo Bonzini wrote:
> 
> 
> 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!
> 

I'm not sure. It seems timer callbacks also do I/O, for example
nvme_process_sq().

Fam



reply via email to

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