From: Peter Lieven <pl@kamp.de>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com, famz@redhat.com, benoit@irqsave.net,
ming.lei@canonical.com, Peter Lieven <pl@kamp.de>,
armbru@redhat.com, mreitz@redhat.com, stefanha@redhat.com,
pbonzini@redhat.com
Subject: [Qemu-devel] [RFC PATCH V2 0/4] virtio-blk: add multiread support
Date: Fri, 5 Dec 2014 12:50:25 +0100 [thread overview]
Message-ID: <1417780229-6930-1-git-send-email-pl@kamp.de> (raw)
this series adds the long missing multiread support to virtio-blk.
some remarks:
- i introduced rd_merged and wr_merged block accounting stats to
blockstats as a generic interface which can be set from any
driver that will introduce multirequst merging in the future.
- the knob to disable request merging is not yet there. I would
add it to the device properties also as a generic interface
to have the same switch on for any driver that might introduce
request merging in the future
- there is cleanup and iotest adjustion missing.
RFC v1->v2:
- completed Patch 1 by the example in qmp-commands.hx [Eric]
- used bool for merge in Patch 4 [Max]
- fixed a few typos in the commit msg of Patch 4 [Max]
- do not start merging and directly pass req[0]->qiov in case of num_reqs == 1
- avoid allocating memory for the multireq [Kevin]
- do not import block_int.h and add appropiate iface to block-backend [Kevin]
- removed debug output and added trace event for multireq [Kevin]
- fixed alloc hint for the merge qiov [Kevin]
- currently did not split virtio_submit_multireq into rw code since
the redundant code would now be much bigger part than in the original patch.
- added a merge_qiov to VirtioBlockRequest. Abusing the qiov was not possible
because it is initialized externally with guest memory [Kevin]
- added a pointer to VirtioBlockRequest to create a linked list
of VirtioBlockBlockRequests. This list is used to complete all
requests belonging to a multireq [Kevin]
Peter Lieven (4):
block: add accounting for merged requests
hw/virtio-blk: add a constant for max number of merged requests
block-backend: expose bs->bl.max_transfer_length
virtio-blk: introduce multiread
block.c | 2 +
block/accounting.c | 7 ++
block/block-backend.c | 5 +
block/qapi.c | 2 +
hmp.c | 6 +-
hw/block/dataplane/virtio-blk.c | 10 +-
hw/block/virtio-blk.c | 219 ++++++++++++++++++++++-----------------
include/block/accounting.h | 3 +
include/hw/virtio/virtio-blk.h | 23 ++--
include/sysemu/block-backend.h | 1 +
qapi/block-core.json | 9 +-
qmp-commands.hx | 22 +++-
trace-events | 1 +
13 files changed, 197 insertions(+), 113 deletions(-)
--
1.7.9.5
next reply other threads:[~2014-12-05 11:52 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-05 11:50 Peter Lieven [this message]
2014-12-05 11:50 ` [Qemu-devel] [RFC PATCH V2 1/4] block: add accounting for merged requests Peter Lieven
2014-12-05 14:58 ` Eric Blake
2014-12-09 15:43 ` Peter Lieven
2014-12-05 11:50 ` [Qemu-devel] [RFC PATCH V2 2/4] hw/virtio-blk: add a constant for max number of " Peter Lieven
2014-12-05 14:59 ` Eric Blake
2014-12-05 11:50 ` [Qemu-devel] [RFC PATCH V2 3/4] block-backend: expose bs->bl.max_transfer_length Peter Lieven
2014-12-05 11:50 ` [Qemu-devel] [RFC PATCH V2 4/4] virtio-blk: introduce multiread Peter Lieven
2014-12-05 15:05 ` Eric Blake
2014-12-09 15:44 ` Peter Lieven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1417780229-6930-1-git-send-email-pl@kamp.de \
--to=pl@kamp.de \
--cc=armbru@redhat.com \
--cc=benoit@irqsave.net \
--cc=famz@redhat.com \
--cc=kwolf@redhat.com \
--cc=ming.lei@canonical.com \
--cc=mreitz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.