From: Paolo Bonzini <pbonzini@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Wolfgang Richter <wolf@cs.cmu.edu>,
qemu-devel <qemu-devel@nongnu.org>,
stefanha <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [RFC] block-trace Low Level Command Supporting Disk Introspection
Date: Wed, 15 May 2013 13:54:16 +0200 [thread overview]
Message-ID: <51937768.2080809@redhat.com> (raw)
In-Reply-To: <20130515094602.GC2858@dhcp-200-207.str.redhat.com>
Il 15/05/2013 11:46, Kevin Wolf ha scritto:
> Am 15.05.2013 um 11:16 hat Paolo Bonzini geschrieben:
>>>>> Does the "if there was no room" part mean that the mirror is active only
>>>>> sometimes?
>>>>
>>>> Yes, otherwise the guest can allocate arbitrary amounts of memory in the
>>>> host just by starting a few very large I/O operations.
>
> On second thought, can't you do zero copy anyway for full cluster
> writes? This means that at most two clusters per request must be
> allocated, no matter how large it is, and you can probably reuse the
> same one-cluster buffer for both.
Only for synchronous mirror. For an asynchronous mirror, there's no
guarantee that the mirror finishes writing before the source. When that
fails, the guest can touch the memory and the mirror diverges from the
source.
>>> I think I would rather throttle I/O in this case, i.e. requests wait
>>> until they can get the space. At least for a synchronous mirror we
>>> have to do something like this.
>>
>> Yes, but this is still asynchronous. The active part is just an optimization
>> to avoid write amplification (where small random writes require I/O of an entire
>> block as big as the bitmap granularity).
>
> Yes, that sounds like a good use case.
>
> But does this really cover all use cases a real synchronous active
> mirror would provide? I understood that Wolf wants to get every single
> guest request exposed e.g. on an NBD connection.
He can use throttling to limit the guest's I/O speed to the size of the
asynchronous mirror's buffer.
Paolo
next prev parent reply other threads:[~2013-05-15 11:54 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-13 21:21 [Qemu-devel] [RFC] block-trace Low Level Command Supporting Disk Introspection Wolfgang Richter
2013-05-14 8:40 ` Stefan Hajnoczi
2013-05-14 15:42 ` Wolfgang Richter
2013-05-14 8:50 ` Kevin Wolf
2013-05-14 10:04 ` Paolo Bonzini
2013-05-14 15:48 ` Wolfgang Richter
2013-05-14 16:45 ` Paolo Bonzini
2013-05-14 19:30 ` Wolfgang Richter
2013-05-15 7:59 ` Kevin Wolf
2013-05-15 8:25 ` Paolo Bonzini
2013-05-15 8:53 ` Kevin Wolf
2013-05-15 9:16 ` Paolo Bonzini
2013-05-15 9:46 ` Kevin Wolf
2013-05-15 11:54 ` Paolo Bonzini [this message]
2013-05-22 15:46 ` Wolfgang Richter
2013-05-14 15:45 ` Wolfgang Richter
2013-05-16 13:44 ` Richard W.M. Jones
2013-05-22 15:51 ` Wolfgang Richter
2013-05-22 16:11 ` Paolo Bonzini
2013-05-22 16:29 ` Wolfgang Richter
2013-05-22 16:42 ` Richard W.M. Jones
2013-05-22 18:32 ` Wolfgang Richter
2013-05-22 19:26 ` Richard W.M. Jones
2013-05-22 19:38 ` Wolfgang Richter
2013-05-22 20:47 ` Richard W.M. Jones
2013-05-22 21:46 ` Paolo Bonzini
2013-05-23 7:50 ` 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=51937768.2080809@redhat.com \
--to=pbonzini@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=wolf@cs.cmu.edu \
/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).