From: Anthony Liguori <anthony@codemonkey.ws>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
Stefan Hajnoczi <stefanha@gmail.com>,
qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>,
Chunqiang Tang <ctang@us.ibm.com>,
Aurelien Jarno <aurelien@aurel32.net>
Subject: Re: [Qemu-devel] Re: Strategic decision: COW format
Date: Mon, 21 Feb 2011 09:16:36 -0600 [thread overview]
Message-ID: <4D6281D4.50308@codemonkey.ws> (raw)
In-Reply-To: <4D627257.7010403@redhat.com>
On 02/21/2011 08:10 AM, Kevin Wolf wrote:
> Am 21.02.2011 14:44, schrieb Stefan Hajnoczi:
>
>> On Mon, Feb 21, 2011 at 8:59 AM, Kevin Wolf<kwolf@redhat.com> wrote:
>>
>>> In fact, the only area where qcow2 in performs really bad in 0.14 is
>>> cache=writethrough (which unfortunately is the default...). With
>>> cache=none it's easy to find scenarios where it provides higher
>>> throughput than QED.
>>>
>> Yeah, I'm tempted to implement parallel allocating writes now so I can
>> pick on qcow2 in all benchmarks again ;).
>>
> Heh. ;-)
>
> In the end it just shows that the differences are mainly in the
> implementation, not in the format.
>
>
>>> Anyway, there's really only one crucial difference between QED and
>>> qcow2, which is that qcow2 ensures that metadata is consistent on disk
>>> at any time whereas QED relies on a dirty flag and rebuilds metadata
>>> after a crash (basically requiring an fsck). The obvious solution if you
>>> want to have this in qcow2, is adding a dirty flag there as well.
>>>
>>> Likewise, I think FVD might provide some ideas that we can integrate as
>>> well, I just don't see a justification to include it as a separate format.
>>>
>> You think that QED and FVD can be integrated into a QCOW2-based
>> format. I agree it's possible and has some value. It isn't pretty
>> and I would prefer to work on a clean new format because that, too,
>> has value.
>>
>> In any case, the next step is to get down to specifics. Here is the
>> page with the current QCOW3 roadmap:
>>
>> http://wiki.qemu.org/Qcow3_Roadmap
>>
>> Please raise concrete requirements or features so they can be
>> discussed and captured.
>>
>> For example, journalling is an alternative to the dirty bit approach.
>> If you feel that journalling is the best technique to address
>> consistent updates, then make your case outside the context of today's
>> qcow2, QED, and FVD implementations (although benchmark data will rely
>> on current implementations). Explain how the technique would fit into
>> QCOW3 and what format changes need to be made.
>>
> I think journalling is an interesting option, but I'm not sure if we
> should target it for 0.15. As you know, there's already more than enough
> stuff to do until then, with coroutines etc. The dirty flag thing would
> be way easier to implement. We can always add a journal as a compatible
> feature in 0.16.
>
> To be honest, I'm not even sure any more that the dirty flag is that
> important. Originally we have been talking about cache=none and it
> definitely makes a big difference there because we save flushes.
> However, we're talking about cache=writethrough now and you flush on any
> write. It might be more important to make things parallel for writethrough.
>
One thing I wonder about is whether we really need to have cache=X and
wce=X. I never really minded the fact that cache=none advertised wce=on
because we behaved effectively as if wce=on. But now that qcow2
triggers on wce=on, I'm a bit concerned that we're introducing a subtle
degradation that most people won't realize.
Ignoring some of the problems with O_DIRECT, semantically, I think
there's a strong use-case for cache=none, wce=off.
Regards,
Anthony Liguori
> Maybe not writing out refcounts is something we should measure before we
> start implementing anything. (It's easy to disable all writes for a
> benchmark, even if the image will be broken afterwards)
>
>
>> I think this is the level we need to discuss at rather than qcow2 vs QED vs FVD.
>>
> Definitely more productive, yes.
>
> Kevin
>
>
next prev parent reply other threads:[~2011-02-21 15:16 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <OF3C9DAE9F.EC6B5878-ON85257826.00715C10-85257826.007A14FB@LocalDomain>
2011-02-15 19:45 ` [Qemu-devel] Re: Comparing New Image Formats: FVD vs. QED Chunqiang Tang
2011-02-16 12:34 ` Kevin Wolf
2011-02-17 16:04 ` Chunqiang Tang
2011-02-18 9:12 ` Strategic decision: COW format (was: [Qemu-devel] Re: Comparing New Image Formats: FVD vs. QED) Markus Armbruster
2011-02-18 9:57 ` [Qemu-devel] Re: Strategic decision: COW format Kevin Wolf
2011-02-18 14:20 ` Anthony Liguori
2011-02-22 8:37 ` Markus Armbruster
2011-02-22 8:56 ` Kevin Wolf
2011-02-22 10:21 ` Markus Armbruster
2011-02-22 15:57 ` Anthony Liguori
2011-02-22 16:15 ` Kevin Wolf
2011-02-22 18:18 ` Anthony Liguori
2011-02-23 9:13 ` Kevin Wolf
2011-02-23 14:21 ` Anthony Liguori
2011-02-23 14:55 ` Kevin Wolf
2011-02-23 13:43 ` Avi Kivity
2011-02-23 14:23 ` Anthony Liguori
2011-02-23 14:38 ` Kevin Wolf
2011-02-23 15:29 ` Anthony Liguori
2011-02-23 15:36 ` Avi Kivity
2011-02-23 15:47 ` Anthony Liguori
2011-02-23 15:59 ` Avi Kivity
2011-02-23 15:54 ` Kevin Wolf
2011-02-23 15:23 ` Avi Kivity
2011-02-23 15:31 ` Anthony Liguori
2011-02-23 15:37 ` Avi Kivity
2011-02-23 15:50 ` Anthony Liguori
2011-02-23 16:03 ` Avi Kivity
2011-02-23 16:04 ` Anthony Liguori
2011-02-23 16:15 ` Kevin Wolf
2011-02-25 11:20 ` Pavel Dovgaluk
[not found] ` <-1737654525499315352@unknownmsgid>
2011-02-25 13:22 ` Stefan Hajnoczi
2011-02-23 15:52 ` Anthony Liguori
2011-02-23 15:59 ` Gleb Natapov
2011-02-23 16:00 ` Avi Kivity
2011-02-23 15:33 ` Daniel P. Berrange
2011-02-23 15:38 ` Avi Kivity
2011-02-18 17:43 ` Stefan Weil
2011-02-18 19:11 ` Kevin Wolf
2011-02-18 19:47 ` Anthony Liguori
2011-02-18 20:49 ` Kevin Wolf
2011-02-18 20:50 ` Anthony Liguori
2011-02-18 21:27 ` Kevin Wolf
2011-02-19 17:19 ` Stefan Hajnoczi
2011-02-18 20:31 ` Anthony Liguori
2011-02-19 12:27 ` [Qemu-devel] Bugs in the VDI Block Device Driver Chunqiang Tang
2011-02-19 16:21 ` Stefan Hajnoczi
2011-02-19 18:49 ` Stefan Weil
2011-02-20 22:13 ` [Qemu-devel] Re: Strategic decision: COW format Aurelien Jarno
2011-02-21 8:59 ` Kevin Wolf
2011-02-21 13:44 ` Stefan Hajnoczi
2011-02-21 14:10 ` Kevin Wolf
2011-02-21 15:16 ` Anthony Liguori [this message]
2011-02-21 15:26 ` Kevin Wolf
2011-02-23 3:32 ` Chunqiang Tang
2011-02-23 13:20 ` Markus Armbruster
[not found] ` <OFAEB4CD91.BE989F29-ON8525783F.007366B8-85257840.00130B47@LocalDomain>
2011-03-13 5:51 ` Chunqiang Tang
2011-03-13 17:48 ` Anthony Liguori
2011-03-14 2:28 ` Chunqiang Tang
2011-03-14 13:22 ` Anthony Liguori
2011-03-14 13:53 ` Chunqiang Tang
2011-03-14 14:02 ` Anthony Liguori
2011-03-14 14:21 ` Kevin Wolf
2011-03-14 14:35 ` Chunqiang Tang
2011-03-14 14:49 ` Anthony Liguori
2011-03-14 15:05 ` Stefan Hajnoczi
2011-03-14 15:08 ` Kevin Wolf
2011-03-14 14:26 ` Stefan Hajnoczi
2011-03-14 14:30 ` Chunqiang Tang
2011-03-14 14:15 ` Kevin Wolf
2011-03-14 14:25 ` Chunqiang Tang
2011-03-14 14:31 ` Stefan Hajnoczi
2011-03-14 16:32 ` Chunqiang Tang
2011-03-14 17:57 ` Kevin Wolf
2011-03-14 19:23 ` Chunqiang Tang
2011-03-14 20:16 ` Kevin Wolf
[not found] ` <OF7C2FDD40.E76A4E14-ON85257853.005ADD68-85257853.005AF16E@LocalDomain>
2011-03-14 21:32 ` Chunqiang Tang
2011-03-14 14:34 ` Kevin Wolf
2011-03-14 14:47 ` Anthony Liguori
2011-03-14 15:03 ` Kevin Wolf
2011-03-14 15:13 ` Anthony Liguori
2011-03-14 15:04 ` Chunqiang Tang
2011-03-14 15:07 ` Stefan Hajnoczi
2011-03-14 10:12 ` Kevin Wolf
2011-02-22 8:40 ` Markus Armbruster
2011-02-16 13:21 ` [Qemu-devel] Re: Comparing New Image Formats: FVD vs. QED Stefan Hajnoczi
2011-02-17 16:04 ` Chunqiang Tang
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=4D6281D4.50308@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=armbru@redhat.com \
--cc=aurelien@aurel32.net \
--cc=ctang@us.ibm.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
--cc=stefanha@linux.vnet.ibm.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).