qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>
Subject: [Qemu-devel] [PATCH v3 0/2] block: Handle multiple write requests at once
Date: Wed,  9 Sep 2009 17:53:36 +0200	[thread overview]
Message-ID: <1252511618-19497-1-git-send-email-kwolf@redhat.com> (raw)

virtio often issues multiple requests in a row, but each one independently. If
the block drivers knew all of the requests, they could optimize the way they
handle the requests. See the description of patch 1 for how qcow2 can use this
to avoid unnecessary writes to the disk.

v2:
The simple request merging code isn't qcow2 specific at all. Enable it for all
formats. A cleverer merging policy can later still be implemented in a driver
specific way.

v3:
Handle overlapping requests, add hook for block drivers to merge even more
requests.

Kevin Wolf (2):
  Add bdrv_aio_multiwrite
  virtio-blk: Use bdrv_aio_multiwrite

 block.c         |  183 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 block.h         |   15 +++++
 block_int.h     |    6 ++
 cutils.c        |   25 ++++++++
 hw/virtio-blk.c |   50 +++++++++++++---
 qemu-common.h   |    1 +
 6 files changed, 272 insertions(+), 8 deletions(-)

             reply	other threads:[~2009-09-09 15:54 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-09 15:53 Kevin Wolf [this message]
2009-09-09 15:53 ` [Qemu-devel] [PATCH v3 1/2] Add bdrv_aio_multiwrite Kevin Wolf
     [not found]   ` <m3ocpj67ip.fsf@neno.mitica>
2009-09-10  7:07     ` [Qemu-devel] " Kevin Wolf
2009-09-10 22:44   ` [Qemu-devel] " Christoph Hellwig
2009-09-11  6:29     ` Kevin Wolf
2009-09-11 18:36       ` Christoph Hellwig
2009-09-09 15:53 ` [Qemu-devel] [PATCH v3 2/2] virtio-blk: Use bdrv_aio_multiwrite Kevin Wolf
2009-09-10 22:41   ` Christoph Hellwig
2009-09-11  7:10     ` Kevin Wolf
2009-09-11 18:39       ` Christoph Hellwig

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=1252511618-19497-1-git-send-email-kwolf@redhat.com \
    --to=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).