Il 27/06/2014 08:23, Kevin Wolf ha scritto:
Note that there is already an interface in block.c that takes multiple
requests at once, bdrv_aio_multiwrite(). It is currently used by
virtio-blk, even though not in dataplane mode. It also submits
individual requests to the block drivers currently, so effectively it
doesn't make a difference, just the problem occurs in the block layer
instead of the device.

We should either improve bdrv_aio_multiwrite() to submit the requests in
a batch to the block drivers, add a bdrv_aio_multiwrite() and use it for
dataplane as well (possibly with a flag for disabling the request merging
if we want to keep the current behaviour for dataplane); or, if we
consider it a bad interface, replace it altogether with the new thing
even for normal virtio-blk.

In fact, what's the status of Fam's patches to unify request processing between dataplane and non-dataplane? They would add multiwrite support (also rerror/werror and blockstats).

I was hoping that they could get in 2.1.

Paolo

If this makes a difference for dataplane, it probably makes a difference
for all block devices.


Reply via email to