From: "Daniel P. Berrange" <berrange@redhat.com>
To: Peter Lieven <pl@kamp.de>
Cc: Kevin Wolf <kwolf@redhat.com>, qemu block <qemu-block@nongnu.org>,
qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>,
den@openvz.org, Laszlo Ersek <lersek@redhat.com>
Subject: Re: [Qemu-devel] QCOW2 support for LZO compression
Date: Mon, 26 Jun 2017 11:04:07 +0100 [thread overview]
Message-ID: <20170626100407.GE495@redhat.com> (raw)
In-Reply-To: <0e6586f9-85eb-efcd-4825-20066a7c869a@kamp.de>
On Mon, Jun 26, 2017 at 11:20:33AM +0200, Peter Lieven wrote:
>
> Am 26.06.2017 um 10:28 schrieb Kevin Wolf:
> > [ Cc: qemu-devel; don't post to qemu-block only! ]
> >
> > Am 26.06.2017 um 09:57 hat Peter Lieven geschrieben:
> > > Hi,
> > >
> > > I am currently working on optimizing speed for compressed QCOW2
> > > images. We use them for templates and would also like to use them for
> > > backups, but the latter is almost infeasible because using gzip for
> > > compression is horribly slow. I tried to experiment with different
> > > options to deflate, but in the end I think its better to use a
> > > different compression algorithm for cases where speed matters. As we
> > > already have probing for it in configure and as it is widely used I
> > > would like to use LZO for that purpose. I think it would be best to
> > > have a flag to indicate that compressed blocks use LZO compression,
> > > but I would need a little explaination which of the feature fields I
> > > have to use to prevent an older (incompatible) Qemu opening LZO
> > > compressed QCOW2 images.
> > >
> > > I also have already some numbers. I converted a fresh Debian 9 Install
> > > which has an uncomressed QCOW2 size of 1158 MB with qemu-img to a
> > > compressed QCOW2. With GZIP compression the result is 356MB whereas
> > > the LZO version is 452MB. However, the current GZIP variant uses 35
> > > seconds for this operation where LZO only needs 4 seconds. I think is
> > > is a good trade in especially when its optional so the user can
> > > choose.
> > >
> > > What are your thoughts?
> > We had a related RFC patch by Den earlier this year, which never
> > received many comment and never got out of RFC:
> >
> > https://lists.gnu.org/archive/html/qemu-devel/2017-03/msg04682.html
>
> I was not aware of that one. Thanks for pointing out.
>
> >
> > So he chose a different algorithm (zstd). When I asked, he posted a
> > comparison of algorithms (however a generic one and not measured in the
> > context of qemu) that suggests that LZO would be slightly faster, but
> > have a considerable worse compression ratio with the settings that were
> > benchmarked.
>
> My idea to choose LZO was that it is widely available and available in
> any distro you can think of. We already have probing for it in configure.
> My concern with ZSTD would be that it seems there are no packages
> available for most distros and that it seems to be multi-threaded. I don't
> know if this will cause any trouble?
As a distro maintainer I'd always prefer option to use a library that is
already widely available. While ZSTD could certainly be added to distros,
it means the QEMU maintainer will end up having to package it & become
the defacto long term maintainer of it long term, which is an extra burden.
WRT to making compression algorithms configurable, I think it is important
to ensure we don't add lots of optional algorithms. An important factor is
portability of images - we don't want to end up with each distro's build
of QEMU enabling a different sub-set of compression algorithms, as that is
going to harm interoperability for distributed images. This again makes me
prefer a compression format whose library is widely available, as that makes
it highly likely that the distro will choose to enable it during build.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2017-06-26 10:04 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <0f83a15d-66b0-36aa-e5a4-d03cd37757c9@kamp.de>
2017-06-26 8:28 ` [Qemu-devel] QCOW2 support for LZO compression Kevin Wolf
2017-06-26 9:20 ` Peter Lieven
2017-06-26 9:33 ` Denis V. Lunev
2017-06-26 9:56 ` Peter Lieven
2017-06-26 10:16 ` Laszlo Ersek
2017-06-26 10:23 ` Denis V. Lunev
2017-06-26 10:41 ` Peter Lieven
2017-06-26 9:57 ` Kevin Wolf
2017-06-26 10:08 ` Peter Lieven
2017-06-26 10:12 ` Daniel P. Berrange
2017-06-26 10:20 ` Peter Lieven
2017-06-26 11:21 ` Kevin Wolf
2017-06-26 11:37 ` Peter Lieven
2017-06-26 10:04 ` Daniel P. Berrange [this message]
2017-06-26 10:15 ` Denis V. Lunev
2017-06-26 10:23 ` Peter Lieven
2017-06-26 11:12 ` Daniel P. Berrange
2017-06-26 11:44 ` Richard W.M. Jones
2017-06-26 20:30 ` Denis V. Lunev
2017-06-26 20:54 ` Peter Lieven
2017-06-26 20:56 ` Denis V. Lunev
2017-06-26 21:30 ` Laszlo Ersek
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=20170626100407.GE495@redhat.com \
--to=berrange@redhat.com \
--cc=den@openvz.org \
--cc=kwolf@redhat.com \
--cc=lersek@redhat.com \
--cc=mreitz@redhat.com \
--cc=pl@kamp.de \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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.