[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 5/7] coroutine: rewrite pool to avoid mutex
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 5/7] coroutine: rewrite pool to avoid mutex |
Date: |
Fri, 28 Nov 2014 20:57:51 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 |
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
- Re: [Qemu-devel] [PATCH 1/7] coroutine-ucontext: use __thread, (continued)
[Qemu-devel] [PATCH 6/7] coroutine: drop qemu_coroutine_adjust_pool_size, Paolo Bonzini, 2014/11/28
[Qemu-devel] [PATCH 7/7] coroutine: try harder not to delete coroutines, Paolo Bonzini, 2014/11/28