From: Avi Kivity <avi@redhat.com>
To: "Richard W.M. Jones" <rjones@redhat.com>
Cc: qemu-devel@nongnu.org, Gleb Natapov <gleb@redhat.com>,
kvm@vger.kernel.org
Subject: Re: [Qemu-devel] Anyone seeing huge slowdown launching qemu with Linux 2.6.35?
Date: Tue, 03 Aug 2010 17:38:25 +0300 [thread overview]
Message-ID: <4C5829E1.60004@redhat.com> (raw)
In-Reply-To: <20100803140506.GD22211@amd.home.annexia.org>
On 08/03/2010 05:05 PM, Richard W.M. Jones wrote:
> On Tue, Aug 03, 2010 at 04:19:39PM +0300, Avi Kivity wrote:
>> On 08/03/2010 03:48 PM, Richard W.M. Jones wrote:
>>> Thanks for the explanation. I'll repost my "DMA"-like fw-cfg patch
>>> once I've rebased it and done some more testing. This huge regression
>>> for a common operation (implementing -initrd) needs to be solved
>>> without using inb/rep ins.
>> Adding more interfaces is easy but a problem in the long term.
>> We'll optimize it as much as we can. Meanwhile, why are you loading
>> huge initrds? Use a cdrom instead (it will also be faster since the
>> guest doesn't need to unpack it).
> Because it involves rewriting the entire appliance building process,
> and we don't necessarily know if it'll be faster after we've done
> that.
>
> Look: currently we create the initrd on the fly in 700ms. We've no
> reason to believe that creating a CD-ROM on the fly wouldn't take
> around the same time. After all, both processes involve reading all
> the host files from disk and writing a temporary file.
The time will only continue to grow as you add features and as the
distro bloats naturally.
Much better to create it once and only update it if some dependent file
changes (basically the current on-the-fly code + save a list of file
timestamps).
Alternatively, pass through the host filesystem.
> You have to create these things on the fly, because we don't actually
> ship an appliance to end users, just a tiny (< 1 MB) skeleton. You
> can't ship a massive statically linked appliance to end users because
> it's just unmanageable (think: security; updates; bandwidth).
Shipping it is indeed out of the question. But on-the-fly creation is
not the only alternative.
> Loading the initrd currently takes 115ms (or could do, if a sensible
> 50 line patch was permitted).
>
> So the only possible saving would be the 115ms load time of the
> initrd. In theory the CD-ROM device could be detected in 0 time.
>
> Total saving: 115ms.
815 ms by my arithmetic. You also save 3*N-2*P memory where N is the
size of your initrd and P is the actual amount used by the guest.
> But will it be any faster, since after spending 115ms, everything runs
> from memory, versus being loaded from the CD?
>
> Let's face the fact that qemu has suffered from an enormous
> regression. From some hundreds of milliseconds up to over a minute,
> in the space of 6 months of development.
It wasn't qemu, but kvm. And it didn't take six months, just a few
commits. Those aren't going back, they're a lot more important than
some libguestfs problem which shouldn't have been coded differently in
the first place.
> For a very simple operation:
> loading a file into memory.
Loading a file into memory is plenty fast if you use the standard
interfaces. -kernel -initrd is a specialized interface.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2010-08-03 14:38 UTC|newest]
Thread overview: 151+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-03 11:13 [Qemu-devel] Anyone seeing huge slowdown launching qemu with Linux 2.6.35? Richard W.M. Jones
2010-08-03 11:33 ` Gleb Natapov
2010-08-03 12:10 ` Richard W.M. Jones
2010-08-03 12:37 ` Gleb Natapov
2010-08-03 12:48 ` Richard W.M. Jones
2010-08-03 13:19 ` Avi Kivity
2010-08-03 14:05 ` Richard W.M. Jones
2010-08-03 14:38 ` Avi Kivity [this message]
2010-08-03 14:53 ` Richard W.M. Jones
2010-08-03 16:10 ` Avi Kivity
2010-08-03 16:28 ` Richard W.M. Jones
2010-08-03 16:44 ` Avi Kivity
2010-08-03 16:46 ` Anthony Liguori
2010-08-03 16:50 ` Avi Kivity
2010-08-03 16:53 ` Anthony Liguori
2010-08-03 17:01 ` Avi Kivity
2010-08-03 17:42 ` Anthony Liguori
2010-08-03 17:58 ` Avi Kivity
2010-08-03 18:11 ` Richard W.M. Jones
2010-08-03 18:26 ` Anthony Liguori
2010-08-03 18:43 ` Avi Kivity
2010-08-03 18:47 ` Avi Kivity
2010-08-03 18:55 ` Anthony Liguori
2010-08-03 19:00 ` Avi Kivity
2010-08-03 19:05 ` Gleb Natapov
2010-08-03 19:09 ` Avi Kivity
2010-08-03 19:15 ` Anthony Liguori
2010-08-03 19:24 ` Avi Kivity
2010-08-03 19:38 ` Anthony Liguori
2010-08-03 19:41 ` Avi Kivity
2010-08-03 19:47 ` Anthony Liguori
2010-08-04 5:47 ` Avi Kivity
2010-08-03 21:24 ` Gerd Hoffmann
2010-08-03 21:20 ` Gerd Hoffmann
2010-08-04 5:53 ` Avi Kivity
2010-08-04 7:56 ` Gerd Hoffmann
2010-08-04 8:17 ` Avi Kivity
2010-08-04 8:43 ` Gleb Natapov
2010-08-04 9:22 ` Gerd Hoffmann
2010-08-04 13:04 ` Anthony Liguori
2010-08-04 13:07 ` Gleb Natapov
2010-08-04 13:15 ` Anthony Liguori
2010-08-04 13:24 ` Richard W.M. Jones
2010-08-04 13:26 ` Gleb Natapov
2010-08-04 14:22 ` Anthony Liguori
2010-08-04 14:38 ` Gleb Natapov
2010-08-04 14:50 ` Anthony Liguori
2010-08-04 15:01 ` Gleb Natapov
2010-08-04 15:07 ` Anthony Liguori
2010-08-04 15:15 ` Gleb Natapov
2010-08-04 22:41 ` Kevin O'Connor
2010-08-04 16:26 ` Avi Kivity
2010-08-04 13:34 ` Gleb Natapov
2010-08-04 13:52 ` Anthony Liguori
2010-08-04 14:00 ` Gleb Natapov
2010-08-04 14:14 ` Anthony Liguori
2010-08-04 14:36 ` Gleb Natapov
2010-08-04 14:22 ` Paolo Bonzini
2010-08-04 14:39 ` Anthony Liguori
2010-08-04 16:33 ` Avi Kivity
2010-08-04 16:30 ` Avi Kivity
2010-08-04 16:36 ` Avi Kivity
2010-08-04 16:44 ` Anthony Liguori
2010-08-04 16:52 ` Avi Kivity
2010-08-04 17:37 ` Gleb Natapov
2010-08-05 7:28 ` Gerd Hoffmann
2010-08-05 7:34 ` Gleb Natapov
2010-08-05 7:56 ` Avi Kivity
2010-08-05 7:59 ` Gleb Natapov
2010-08-05 8:45 ` Avi Kivity
2010-08-05 8:48 ` Gleb Natapov
2010-08-05 13:43 ` Anthony Liguori
2010-08-04 16:45 ` Alexander Graf
2010-08-04 16:54 ` Avi Kivity
2010-08-04 17:01 ` Alexander Graf
2010-08-04 17:14 ` Avi Kivity
2010-08-04 17:27 ` Alexander Graf
2010-08-04 17:34 ` Avi Kivity
2010-08-04 20:06 ` David S. Ahern
2010-08-04 20:16 ` Richard W.M. Jones
2010-08-05 2:38 ` Avi Kivity
2010-08-04 17:26 ` Anthony Liguori
2010-08-04 17:31 ` Alexander Graf
2010-08-04 17:35 ` Avi Kivity
2010-08-04 17:36 ` Anthony Liguori
2010-08-04 17:36 ` Alexander Graf
2010-08-04 17:46 ` Richard W.M. Jones
2010-08-04 17:50 ` Avi Kivity
2010-08-04 18:13 ` Alexander Graf
2010-08-04 18:16 ` Anthony Liguori
2010-08-04 18:18 ` Alexander Graf
2010-08-04 18:19 ` Avi Kivity
2010-08-04 18:18 ` Avi Kivity
2010-08-04 16:42 ` Anthony Liguori
2010-08-04 13:22 ` Richard W.M. Jones
2010-08-04 13:29 ` Gleb Natapov
2010-08-04 16:25 ` Avi Kivity
2010-08-03 22:06 ` Richard W.M. Jones
2010-08-04 5:54 ` Avi Kivity
2010-08-04 9:24 ` Richard W.M. Jones
2010-08-04 9:27 ` Gleb Natapov
2010-08-04 9:52 ` Avi Kivity
2010-08-04 11:33 ` Richard W.M. Jones
2010-08-04 11:36 ` Avi Kivity
2010-08-04 12:07 ` Gleb Natapov
2010-08-04 12:59 ` Anthony Liguori
2010-08-03 19:26 ` Gleb Natapov
2010-08-03 19:13 ` Richard W.M. Jones
2010-08-03 19:17 ` Gleb Natapov
2010-08-03 19:19 ` Anthony Liguori
2010-08-03 19:22 ` Avi Kivity
2010-08-03 20:00 ` Richard W.M. Jones
2010-08-03 20:49 ` Anthony Liguori
2010-08-03 21:13 ` Paolo Bonzini
2010-08-03 21:34 ` Anthony Liguori
2010-08-04 7:57 ` Paolo Bonzini
2010-08-04 8:19 ` Avi Kivity
2010-08-04 12:53 ` Anthony Liguori
2010-08-04 16:44 ` Avi Kivity
2010-08-04 16:46 ` Anthony Liguori
2010-08-04 16:48 ` Alexander Graf
2010-08-04 16:49 ` Anthony Liguori
2010-08-04 16:51 ` Alexander Graf
2010-08-04 17:01 ` Paolo Bonzini
2010-08-04 17:19 ` Avi Kivity
2010-08-04 17:25 ` Alexander Graf
2010-08-04 17:27 ` Anthony Liguori
2010-08-04 17:37 ` Avi Kivity
2010-08-04 17:53 ` Anthony Liguori
2010-08-04 18:05 ` Alexander Graf
2010-08-04 5:56 ` Avi Kivity
2010-08-04 1:17 ` Jamie Lokier
2010-08-04 8:21 ` Avi Kivity
2010-08-04 14:51 ` David S. Ahern
2010-08-04 14:57 ` Anthony Liguori
2010-08-04 15:25 ` Gleb Natapov
2010-08-04 15:31 ` Alexander Graf
2010-08-04 15:48 ` Gleb Natapov
2010-08-04 15:59 ` Alexander Graf
2010-08-04 16:08 ` Gleb Natapov
2010-08-04 16:48 ` Avi Kivity
2010-08-04 23:17 ` Kevin O'Connor
2010-08-05 5:26 ` Gleb Natapov
2010-08-03 16:56 ` Anthony Liguori
2010-08-03 16:48 ` Avi Kivity
2010-08-03 17:00 ` Richard W.M. Jones
2010-08-03 17:05 ` Avi Kivity
2010-08-03 16:56 ` Richard W.M. Jones
2010-08-03 17:08 ` Avi Kivity
2010-08-03 16:39 ` Anthony Liguori
2010-08-03 16:43 ` Richard W.M. Jones
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=4C5829E1.60004@redhat.com \
--to=avi@redhat.com \
--cc=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--cc=rjones@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 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).