On Fri, Aug 12, 2011 at 06:50:57AM +0100, Stefan Hajnoczi wrote:
> I do see the drawbacks of leaving accounting in block.c on every
> request.  For example, we'll fetch the timestamp for internal requests
> as well as external requests from hardware emulation.  Due to memory
> mapping and bounce buffers it is also possible that requests get
> split.  Multiwrite also changes the I/O pattern.
> 
> So I guess this external accounting cookie approach is okay.  We just
> need to be strict about reviewing any code that uses bdrv_aio_*() to
> make sure it has accounting in place where appropriate.

The most important point is that we potentially have a lot of
bdrv_aio_read/write calls for a single guest request.  That's the case
for both scsi and ide, only virtio does 1 call per guest request (modulo
multiwrite).

Reply via email to