On 28/11/2014 19:34, Kevin Wolf wrote:
>>> > > Not sure if speculations about the future belong into commit messages,
>>> > > but while it may turn out that a bypass is required in the end (I hope
>>> > > it doesn't), the part about AIOCBs is wrong if you really consistently
>>> > > use coroutines all the way down from the device to the block driver.
>> > 
>> > This is much harder for virtio-scsi than for virtio-blk, though.
> Why is that? At least replacing the bdrv_aio_*() call by
> coroutine_create/coroutine_enter/bdrv_co_*() is a mechanical change that
> shouldn't be any harder for virtio-scsi. Whether we can optimise even
> more by integration the device more with coroutines might be a different
> problem, but at this point you've already got rid of AIOCBs.

Because I/O is done by the generic SCSI code, so you'd have to modify
that and the DMA helpers.  And the generic SCSI code is itself written
asynchronously in order to support HBAs that use a bounce buffer.

Paolo

Reply via email to