On Thu, 05/28 13:19, Paolo Bonzini wrote:
> 
> 
> On 28/05/2015 13:11, Fam Zheng wrote:
> > > 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().
> 
> Right, that's also true for USB devices. :(
> 
> Perhaps we can skip block_job_defer_to_main_loop if not necessary
> (bs->aio_context == qemu_get_aio_context()).

I think so. It will make dataplane even more specialized but that seems the
only way to fix the problem at the moment.

Fam

Reply via email to