qemu/include
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
..
block block: add accounting for merged requests 2015-02-06 17:24:21 +01:00
disas disas: Implement disassembly output for A64 2014-02-08 14:50:48 +00:00
exec cpu_ldst.h: Allow NB_MMU_MODES to be 7 2015-02-05 13:37:23 +00:00
fpu softfloat: Clarify license status 2015-01-29 16:45:45 +00:00
hw virtio-blk: introduce multiread 2015-02-06 17:24:21 +01:00
libdecnumber Fix new typos in comments (found by codespell) 2014-07-18 17:45:36 +04:00
migration migration: Append JSON description of migration stream 2015-02-05 17:16:14 +01:00
monitor block: Rename BlockDriverCompletionFunc to BlockCompletionFunc 2014-10-20 13:41:27 +02:00
net net: remove bootindex property from qdev to qom 2014-10-15 09:52:54 +02:00
qapi balloon: Eliminate silly QERR_ macros 2015-01-29 10:06:02 +01:00
qemu cpu-exec: simplify init_delay_params 2015-02-02 16:55:11 +01:00
qom qom: Add description field in ObjectProperty struct 2014-10-15 05:03:15 +02:00
sysemu block-backend: expose bs->bl.max_transfer_length 2015-02-06 17:24:21 +01:00
ui qmp hmp: Improve error messages when SPICE is not in use 2015-01-29 10:01:31 +01:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h tcg-sparc: Use ADDXC in addsub2_i64 2014-09-29 14:55:27 -04:00
glib-compat.h glib: add compatibility interface for g_strcmp0() 2014-10-16 23:02:31 +01:00
qemu-common.h qemu-common.h: optimise muldiv64 if int128 is available 2015-01-14 10:38:57 +01:00
qemu-io.h qemu-io: Fix warnings from static code analysis 2014-03-13 14:42:24 +01:00
qjson.h QJSON: Add JSON writer 2015-02-05 17:16:14 +01:00
trace-tcg.h trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
trace.h trace: [tcg] Include event definitions in "trace.h" 2014-08-12 14:26:12 +01:00