From: Gleb Natapov <gleb@redhat.com>
To: "Richard W.M. Jones" <rjones@redhat.com>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: Re: [Qemu-devel] Anyone seeing huge slowdown launching qemu with Linux 2.6.35?
Date: Tue, 3 Aug 2010 15:37:14 +0300 [thread overview]
Message-ID: <20100803123714.GU24773@redhat.com> (raw)
In-Reply-To: <20100803121000.GV13789@amd.home.annexia.org>
On Tue, Aug 03, 2010 at 01:10:00PM +0100, Richard W.M. Jones wrote:
> On Tue, Aug 03, 2010 at 02:33:02PM +0300, Gleb Natapov wrote:
> > On Tue, Aug 03, 2010 at 12:13:06PM +0100, Richard W.M. Jones wrote:
> > >
> > > qemu compiled from today's git. Using the following command line:
> > >
> > > $qemudir/x86_64-softmmu/qemu-system-x86_64 -L $qemudir/pc-bios \
> > > -drive file=/dev/null,if=virtio \
> > > -enable-kvm \
> > > -nodefaults \
> > > -nographic \
> > > -serial stdio \
> > > -m 500 \
> > > -no-reboot \
> > > -no-hpet \
> > > -net user,vlan=0,net=169.254.0.0/16 \
> > > -net nic,model=ne2k_pci,vlan=0 \
> > > -kernel /tmp/libguestfsEyAMut/kernel \
> > > -initrd /tmp/libguestfsEyAMut/initrd \
> > > -append 'panic=1 console=ttyS0 udevtimeout=300 noapic acpi=off printk.time=1 cgroup_disable=memory selinux=0 guestfs_vmchannel=tcp:169.254.2.2:35007 guestfs_verbose=1 TERM=xterm-color '
> > >
> > > With kernel 2.6.35 [*], this takes about 1 min 20 s before the guest
> > > starts.
> > >
> > > If I revert back to kernel 2.6.34, it's pretty quick as usual.
> > >
> > > strace is not very informative. It's in a loop doing select and
> > > reading/writing from some file descriptors, including the signalfd and
> > > two pipe fds.
> > >
> > > Anyone seen anything like this?
> > >
> > I assume your initrd is huge.
>
> It's ~110MB, yes.
>
> > In newer kernels ins/outs are much slower that they were. They are
> > much more correct too. It shouldn't be 1 min 20 sec for 100M initrd
> > though, but it can take 20-30 sec. This belongs to kvm list BTW.
>
> I can't see anything about this in the kernel changelog. Can you
> point me to the commit or the key phrase to look for?
>
7972995b0c346de76
> Also, what's the point of making in/out "more correct" when they we
> know we're talking to qemu (eg. from the CPUID) and we know it already
> worked fine before with qemu?
>
Qemu has nothing to do with that. ins/outs didn't worked correctly for
some situation. They didn't work at all if destination/source memory
was MMIO (didn't work as in hang vcpu IIRC and this is security risk).
Direction flag wasn't handled at all (if it was set instruction injected
#GP into a gust). It didn't check that memory it writes to is shadowed
in which case special action should be taken. It didn't delivered events
during long string operations. May be more. Unfortunately adding all that
makes emulation much slower. I already implemented some speedups, and
more is possible, but we will not be able to get to previous string io speed
which was our upper limit.
--
Gleb.
next prev parent reply other threads:[~2010-08-03 12:37 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 [this message]
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
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=20100803123714.GU24773@redhat.com \
--to=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).