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 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.