From: Kevin Wolf <kwolf@redhat.com>
To: Alberto Garcia <berto@igalia.com>
Cc: Anton Nefedov <anton.nefedov@virtuozzo.com>,
qemu-devel@nongnu.org, qemu-block@nongnu.org, mreitz@redhat.com,
stefanha@redhat.com, den@openvz.org
Subject: Re: [Qemu-devel] [PATCH 7/7] qcow2: Merge the writing of the COW regions with the guest data
Date: Fri, 26 May 2017 12:12:05 +0200 [thread overview]
Message-ID: <20170526101205.GE7211@noname.str.redhat.com> (raw)
In-Reply-To: <w51inkqyt23.fsf@maestria.local.igalia.com>
Am 24.05.2017 um 21:05 hat Alberto Garcia geschrieben:
> On Wed 24 May 2017 06:43:31 PM CEST, Anton Nefedov wrote:
> >> + if (m->data_qiov) {
> >> + qemu_iovec_reset(&qiov);
> >> + qemu_iovec_add(&qiov, start_buffer, start->nb_bytes);
> >> + qemu_iovec_concat(&qiov, m->data_qiov, 0, data_bytes);
> >> + qemu_iovec_add(&qiov, end_buffer, end->nb_bytes);
> >
> > Can it be a problem if (m->data_qiov->niov == IOV_MAX)?
> > We had to add merge-iovecs code for the case (maybe there's better
> > solution?)
>
> You're right, good catch! I'll add a check for that. To be honest I
> don't think that's likely to happen in practice, so if it does we can
> simply fall back to the old behavior (separate writes).
>
> > Also, will this work if allocation is split into several l2metas?
> > e.g. one has cow_start.nb_bytes and another has cow_end.nb_bytes
>
> The guest request will be merged with the first l2meta that has to copy
> at least one of the two regions. It doesn't matter if the other one has
> nb_bytes == 0.
I think we can improve this later so that we merge everything together
(multiple l2metas and guest data) into a single request, but what this
seris implements is still a very good first step, so we shouldn't let
this stop us from taking the good rather than waiting for the perfect.
Kevin
next prev parent reply other threads:[~2017-05-26 10:12 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-23 11:22 [Qemu-devel] [PATCH 0/7] qcow2: Reduce the number of I/O ops when doing COW Alberto Garcia
2017-05-23 11:22 ` [Qemu-devel] [PATCH 1/7] qcow2: Remove unused Error in do_perform_cow() Alberto Garcia
2017-05-23 20:21 ` Eric Blake
2017-05-24 9:48 ` Alberto Garcia
2017-05-23 11:22 ` [Qemu-devel] [PATCH 2/7] qcow2: Use unsigned int for both members of Qcow2COWRegion Alberto Garcia
2017-05-23 11:22 ` [Qemu-devel] [PATCH 3/7] qcow2: Make perform_cow() call do_perform_cow() twice Alberto Garcia
2017-05-26 8:11 ` Kevin Wolf
2017-05-26 9:10 ` Alberto Garcia
2017-05-26 10:08 ` Kevin Wolf
2017-05-23 11:22 ` [Qemu-devel] [PATCH 4/7] qcow2: Split do_perform_cow() into _read(), _encrypt() and _write() Alberto Garcia
2017-05-23 11:23 ` [Qemu-devel] [PATCH 5/7] qcow2: Allow reading both COW regions with only one request Alberto Garcia
2017-05-23 11:23 ` [Qemu-devel] [PATCH 6/7] qcow2: Pass a QEMUIOVector to do_perform_cow_{read, write}() Alberto Garcia
2017-05-23 11:23 ` [Qemu-devel] [PATCH 7/7] qcow2: Merge the writing of the COW regions with the guest data Alberto Garcia
[not found] ` <5925B107.1060404@virtuozzo.com>
2017-05-24 16:43 ` Anton Nefedov
2017-05-24 19:05 ` Alberto Garcia
2017-05-26 10:12 ` Kevin Wolf [this message]
2017-05-26 14:09 ` Alberto Garcia
2017-05-23 14:36 ` [Qemu-devel] [PATCH 0/7] qcow2: Reduce the number of I/O ops when doing COW Eric Blake
2017-05-24 14:20 ` Alberto Garcia
2017-05-24 16:09 ` Anton Nefedov
2017-05-24 16:20 ` Alberto Garcia
2017-05-24 16:26 ` Anton Nefedov
2017-05-25 11:48 ` Alberto Garcia
2017-05-25 14:35 ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2017-05-26 10:17 ` [Qemu-devel] " Kevin Wolf
2017-05-26 12:47 ` Anton Nefedov
2017-05-26 13:08 ` Alberto Garcia
2017-05-26 13:32 ` Anton Nefedov
2017-05-26 13:38 ` Alberto Garcia
2017-06-07 11:44 ` Alberto Garcia
2017-06-07 11:59 ` Kevin Wolf
2017-06-07 12:13 ` Alberto Garcia
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=20170526101205.GE7211@noname.str.redhat.com \
--to=kwolf@redhat.com \
--cc=anton.nefedov@virtuozzo.com \
--cc=berto@igalia.com \
--cc=den@openvz.org \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--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.