On 13/02/2015 02:21, Fam Zheng wrote:
Could you just do set_aio_context for all devices when starting
dataplane? For example with a new scsi_device_set_aio_context function
(and a new method in SCSIDeviceClass).
Maybe I'm missing the obvious. :)
Per VQ IOThread stills needs it, in the
On 13/02/2015 11:29, Fam Zheng wrote:
I think we should avoid duplicate everything on both virtio-blk and
virtio-scsi, so they will have differences.
True, but there are also similarities. virtio-blk can also do per-VQ
iothreads
Why do you think Per VQ iothread is far away?
Because per-VQ
On Fri, 02/13 10:38, Paolo Bonzini wrote:
On 13/02/2015 02:21, Fam Zheng wrote:
Could you just do set_aio_context for all devices when starting
dataplane? For example with a new scsi_device_set_aio_context function
(and a new method in SCSIDeviceClass).
Maybe I'm missing the
On 13/02/2015 13:42, Fam Zheng wrote:
OK, thanks for elaborating. I think for the sake of single IO thread support
we
already started, the best option now is to go as you suggested - move
bdrv_set_aio_context to virtio_scsi_dataplane_start and hotplug callbacks.
Yes, no doubt the bug has
On Fri, 02/13 11:38, Paolo Bonzini wrote:
On 13/02/2015 11:29, Fam Zheng wrote:
I think we should avoid duplicate everything on both virtio-blk and
virtio-scsi, so they will have differences.
True, but there are also similarities. virtio-blk can also do per-VQ
iothreads
Why do
On Thu, 02/12 15:29, Paolo Bonzini wrote:
On 12/02/2015 06:21, Fam Zheng wrote:
Before processing a request, virtio-scsi dataplane will check if the
backend runs on the same context with it. If not, it has to be moved,
with bdrv_set_aio_context.
However this function is unsafe to
On 12/02/2015 06:21, Fam Zheng wrote:
Before processing a request, virtio-scsi dataplane will check if the
backend runs on the same context with it. If not, it has to be moved,
with bdrv_set_aio_context.
However this function is unsafe to be called from IOThread outside BQL.
The reason is
Before processing a request, virtio-scsi dataplane will check if the
backend runs on the same context with it. If not, it has to be moved,
with bdrv_set_aio_context.
However this function is unsafe to be called from IOThread outside BQL.
The reason is that it calls bdrv_drain_all(), to acquire