All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Fam Zheng <famz@redhat.com>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 4/5] virtio-blk: Drop bounce buffer from dataplane code
Date: Tue, 03 Jun 2014 15:28:59 +0200	[thread overview]
Message-ID: <538DCD9B.6010003@redhat.com> (raw)
In-Reply-To: <1401799978-9558-5-git-send-email-famz@redhat.com>

Il 03/06/2014 14:52, Fam Zheng ha scritto:
> The block layer will handle the unaligned request.
>
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  hw/block/dataplane/virtio-blk.c | 23 -----------------------
>  include/hw/virtio/virtio-blk.h  |  2 --
>  2 files changed, 25 deletions(-)
>
> diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
> index 968f824..b88eee9 100644
> --- a/hw/block/dataplane/virtio-blk.c
> +++ b/hw/block/dataplane/virtio-blk.c
> @@ -75,14 +75,6 @@ static void complete_rdwr(void *opaque, int ret)
>
>      trace_virtio_blk_data_plane_complete_request(req->s, req->elem->index, ret);
>
> -    if (req->read && req->bounce_iov.iov_base) {
> -        qemu_iovec_from_buf(&req->qiov, 0, req->bounce_iov.iov_base, len);
> -    }
> -
> -    if (req->bounce_iov.iov_base) {
> -        qemu_vfree(req->bounce_iov.iov_base);
> -    }
> -
>      qemu_iovec_from_buf(req->inhdr, 0, &hdr, sizeof(hdr));
>      qemu_iovec_destroy(req->inhdr);
>      g_slice_free(QEMUIOVector, req->inhdr);
> @@ -142,21 +134,6 @@ static void do_rdwr_cmd(VirtIOBlockDataPlane *s, bool read,
>
>      qiov = &req->qiov;
>
> -    if (!bdrv_qiov_is_aligned(s->blk->conf.bs, qiov)) {
> -        void *bounce_buffer = qemu_blockalign(s->blk->conf.bs, qiov->size);
> -
> -        /* Populate bounce buffer with data for writes */
> -        if (!read) {
> -            qemu_iovec_to_buf(qiov, 0, bounce_buffer, qiov->size);
> -        }
> -
> -        /* Redirect I/O to aligned bounce buffer */
> -        req->bounce_iov.iov_base = bounce_buffer;
> -        req->bounce_iov.iov_len = qiov->size;
> -        qemu_iovec_init_external(&req->bounce_qiov, &req->bounce_iov, 1);
> -        qiov = &req->bounce_qiov;
> -    }
> -
>      nb_sectors = qiov->size / BDRV_SECTOR_SIZE;
>
>      if (read) {
> diff --git a/include/hw/virtio/virtio-blk.h b/include/hw/virtio/virtio-blk.h
> index d9ff1c9..e406efa 100644
> --- a/include/hw/virtio/virtio-blk.h
> +++ b/include/hw/virtio/virtio-blk.h
> @@ -146,8 +146,6 @@ typedef struct VirtIOBlockReq {
>  #ifdef CONFIG_VIRTIO_BLK_DATA_PLANE
>      struct VirtIOBlockDataPlane *s;
>      QEMUIOVector *inhdr;            /* iovecs for virtio_blk_inhdr */
> -    struct iovec bounce_iov;        /* used if guest buffers are unaligned */
> -    QEMUIOVector bounce_qiov;       /* bounce buffer iovecs */
>      bool read;                      /* read or write? */
>  #endif
>  } VirtIOBlockReq;
>

Can you move this before patch 3?

Paolo

  reply	other threads:[~2014-06-03 13:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-03 12:52 [Qemu-devel] [PATCH 0/5] virtio-blk: Converge VirtIOBlockRequest into VirtIOBlockReq Fam Zheng
2014-06-03 12:52 ` [Qemu-devel] [PATCH 1/5] virtio-blk: Move VirtIOBlockReq to header Fam Zheng
2014-06-03 12:52 ` [Qemu-devel] [PATCH 2/5] virtio-blk: Convert VirtIOBlockReq.elem to pointer Fam Zheng
2014-06-03 12:52 ` [Qemu-devel] [PATCH 3/5] virtio-blk: Merge VirtIOBlockRequest into VirtIOBlockReq Fam Zheng
2014-06-03 12:52 ` [Qemu-devel] [PATCH 4/5] virtio-blk: Drop bounce buffer from dataplane code Fam Zheng
2014-06-03 13:28   ` Paolo Bonzini [this message]
2014-06-03 12:52 ` [Qemu-devel] [PATCH 5/5] virtio-blk: Drop VirtIOBlockReq.read Fam Zheng
2014-06-03 13:37   ` Paolo Bonzini
2014-06-04  7:10     ` Fam Zheng
2014-06-04  7:53     ` Fam Zheng
2014-06-04  8:42       ` Paolo Bonzini
2014-06-04 11:03         ` Fam Zheng
2014-06-04 11:10           ` Paolo Bonzini
2014-06-04  9:28     ` Stefan Hajnoczi

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=538DCD9B.6010003@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=famz@redhat.com \
    --cc=kwolf@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.