qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Lieven <pl@kamp.de>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com, famz@redhat.com, Peter Lieven <pl@kamp.de>,
	stefanha@redhat.com, pbonzini@redhat.com
Subject: [Qemu-devel] [PATCHv5 0/3] block: optimize zero writes with bdrv_write_zeroes
Date: Sun, 18 May 2014 00:58:16 +0200	[thread overview]
Message-ID: <1400367499-12465-1-git-send-email-pl@kamp.de> (raw)

this series tries to optimize zero write requests
by automatically using bdrv_write_zeroes if it is
supported by the format. More details can be found
in the commit message to patch 3.

Changes:
v4->v5: - split patch into 3 separate patches [Kevin, Eric]
        - use QEMU_ALIGN_DOWN in qemu_iovec_is_zero [Kevin]
        - remove check for bs->file from the
          "pretty long condition" [Kevin]
        - added possible values for discard-zeroes to QemuOptsList [Eric]
        - fail if detect-zeroes = unmap is choosen without discard = unmap [Kevin]
        - show detect-zeroes mode always in hmp if enabled [Kevin]

v3->v4: - use QAPI generated enum and lookup table [Kevin]
        - added more details about the options in the comments
          of the qapi-schema [Eric]
        - changed the type of detect_zeroes from str to
          BlockdevDetectZeroesOptions. I left the name
          as is because it is consistent with e.g.
          BlockdevDiscardOptions or BlockdevAioOptions [Eric]
        - changed the parse function in blockdev_init to
          be generic usable for other enum parameters
        
v2->v3: - moved parameter parsing to blockdev_init
        - added per device detect_zeroes status to 
          hmp (info block -v) and qmp (query-block) [Eric]
        - added support to enable detect-zeroes also
          for hot added devices [Eric]
        - added missing entry to qemu_common_drive_opts
        - fixed description of qemu_iovec_is_zero [Fam]

v1->v2: - added tests to commit message (Markus)
RFCv2->v1: - fixed paramter parsing strncmp -> strcmp (Eric)
           - fixed typo (choosen->chosen) (Eric)
           - added second example to commit msg

RFCv1->RFCv2: - add detect-zeroes=off|on|unmap knob to drive cmdline parameter
              - call zero detection only for format (bs->file != NULL)

Peter Lieven (3):
  util: add qemu_iovec_is_zero
  blockdev: add a function to parse enum ids from strings
  block: optimize zero writes with bdrv_write_zeroes

 block.c                   |    9 ++++++++
 block/qapi.c              |    1 +
 blockdev.c                |   41 +++++++++++++++++++++++++++++++++++
 hmp.c                     |    5 +++++
 include/block/block_int.h |    1 +
 include/qemu-common.h     |    1 +
 qapi-schema.json          |   52 ++++++++++++++++++++++++++++++++-------------
 qemu-options.hx           |    6 ++++++
 qmp-commands.hx           |    3 +++
 util/iov.c                |   21 ++++++++++++++++++
 10 files changed, 125 insertions(+), 15 deletions(-)

-- 
1.7.9.5

             reply	other threads:[~2014-05-17 22:59 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-17 22:58 Peter Lieven [this message]
2014-05-17 22:58 ` [Qemu-devel] [PATCHv5 1/3] util: add qemu_iovec_is_zero Peter Lieven
2014-05-17 22:58 ` [Qemu-devel] [PATCHv5 2/3] blockdev: add a function to parse enum ids from strings Peter Lieven
2014-05-17 22:58 ` [Qemu-devel] [PATCHv5 3/3] block: optimize zero writes with bdrv_write_zeroes Peter Lieven
2014-05-19 10:25 ` [Qemu-devel] [PATCHv5 0/3] " Kevin Wolf

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=1400367499-12465-1-git-send-email-pl@kamp.de \
    --to=pl@kamp.de \
    --cc=famz@redhat.com \
    --cc=kwolf@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 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).