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()). Paolo