qemu/include/hw/virtio
Peter Lieven 95f7142abc virtio-blk: introduce multiread
this patch finally introduces multiread support to virtio-blk. While
multiwrite support was there for a long time, read support was missing.

The complete merge logic is moved into virtio-blk.c which has
been the only user of request merging ever since. This is required
to be able to merge chunks of requests and immediately invoke callbacks
for those requests. Secondly, this is required to switch to
direct invocation of coroutines which is planned at a later stage.

The following benchmarks show the performance of running fio with
4 worker threads on a local ram disk. The numbers show the average
of 10 test runs after 1 run as warmup phase.

              |        4k        |       64k        |        4k
MB/s          | rd seq | rd rand | rd seq | rd rand | wr seq | wr rand
--------------+--------+---------+--------+---------+--------+--------
master        | 1221   | 1187    | 4178   | 4114    | 1745   | 1213
multiread     | 1829   | 1189    | 4639   | 4110    | 1894   | 1216

Signed-off-by: Peter Lieven <pl@kamp.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2015-02-06 17:24:21 +01:00
..
dataplane virtio: Import virtio_vring.h 2014-09-22 11:39:49 +01:00
vhost-backend.h virtio: Move extern declaration to header file 2014-08-09 00:06:32 +04:00
vhost-scsi.h vhost-scsi: new device supporting the tcm_vhost Linux kernel module 2013-04-19 16:18:11 +02:00
vhost.h vhost: block migration if backend does not log memory 2014-06-23 17:37:59 +03:00
virtio-9p.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
virtio-access.h virtio: memory accessors for endian-ambivalent targets 2014-06-29 19:39:42 +03:00
virtio-balloon.h virtio: fix broken aliases. 2013-04-15 10:22:04 -05:00
virtio-blk.h virtio-blk: introduce multiread 2015-02-06 17:24:21 +01:00
virtio-bus.h virtio-bus: cleanup plug/unplug interface 2013-12-09 21:46:48 +01:00
virtio-net.h virtio: move common virtio properties to bus class device 2014-07-06 09:13:54 +03:00
virtio-rng.h virtio-rng: Convert to QOM realize 2013-12-09 21:46:49 +01:00
virtio-scsi.h virtio-scsi: Fix comment for VirtIOSCSIReq 2014-11-12 12:43:45 +01:00
virtio-serial.h virtio-serial: Don't keep a persistent copy of config space 2015-01-05 12:50:27 +05:30
virtio.h virtio: remove useless declaration of virtio_net_init() 2014-12-10 11:52:21 +03:00
virtio_ring.h virtio: Fix wrong type cast from pointer to long 2014-09-24 12:51:38 +01:00