From: Gleb Natapov <gleb@redhat.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: ewheeler <kvm@ew.ewheeler.org>, kvm@vger.kernel.org
Subject: Re: KVM git hangs with if=virtio (works under kvm 0.12.3)
Date: Mon, 5 Jul 2010 15:41:12 +0300 [thread overview]
Message-ID: <20100705124112.GR4689@redhat.com> (raw)
In-Reply-To: <AANLkTimKhSDMsK_2KK6_mRPsO7_z7_d-IM9FE9Q_Mm3z@mail.gmail.com>
On Mon, Jul 05, 2010 at 01:36:08PM +0100, Stefan Hajnoczi wrote:
> 2010/7/5 Gleb Natapov <gleb@redhat.com>:
> > On Mon, Jul 05, 2010 at 01:11:25PM +0100, Stefan Hajnoczi wrote:
> >> On Fri, Jul 2, 2010 at 9:07 AM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
> >> > On Fri, Jul 2, 2010 at 4:31 AM, ewheeler <kvm@ew.ewheeler.org> wrote:
> >> >> Hello all,
> >> >>
> >> >> I'm booting a CentOS kernel under today's KVM git and it hangs after
> >> >> initializing the serial port when the drive if=virtio, but not when
> >> >> drive if=ide. Look close---this is not a "forgot to add virtio_blk"
> >> >> problem. If I use 0.12.3 from Ubuntu 10.04 it works properly.
> >> >>
> >> >> Reproduction:
> >> >>
> >> >> Using kvm 0.12.3 on ubuntu 10.04 (1:84+dfsg-0ubuntu16+0.12.3+noroms
> >> >> +0ubuntu9) it will work properly:
> >> >>
> >> >> qemu-system-x86_64 -drive file=dummy-disk-image,if=virtio \
> >> >> -kernel vmlinuz-2.6.18-194.3.1.el5.centos.plus
> >> >>
> >> >> As expected, the kernel panics unable to mount root (good-boot.png).
> >> >> This makes sense, as "dummy-disk-image" is 1MB of 0x00 bytes.
> >> >>
> >> >> ---However---if I use today's git (2010-07-01) of kvm:
> >> >>
> >> >> /usr/local/kvm-git/bin/qemu-system-x86_64 -drive file=dummy-disk-image,if=virtio \
> >> >> -kernel vmlinuz-2.6.18-194.3.1.el5.centos.plus
> >> >>
> >> >> This hangs just after initializing the Serial device (obtained by adding
> >> >> -serial stdio -append console=ttyS0):
> >> >>
> >> >> Note that this only happens with the disk interface set to virtio
> >> >> (if=virtio). It works fine for ide (if=ide).
> >> >>
> >> >>
> >> >> Am I doing something wrong here?
> >> >> Is anyone else having this problem?
> >> >
> >> > I have seen this issue with a RHEL 5.5 guest running under
> >> > qemu-kvm.git. It boots a new guest fine but hangs as you described
> >> > with the RHEL 5.5 kernel. I have not investigated.
> >>
> >> This issue is affected by extboot, a feature that enables booting from
> >> virtio-blk devices. I have just sent a patch to the KVM mailing list
> >> to restore extboot functionality which has been broken in
> >> qemu-kvm.git. That patch can be used to work around this issue by
> >> using "-drive ...,boot=on" but it doesn't explain why the RHEL 5.5
> >> kernel hangs during serial initialization when extboot is not present.
> >>
> > Hang that happens during guest boot (after bootloader started the
> > kernel) cannot be worked around by extboot. extboot is also not needed
> > with latest qemu git to boot from virtio disks since the support for
> > that is in the bios now.
>
> I agree that something else is going on here and needs to be
> investigated, but I do think that extboot can indirectly affect the
> guest boot.
>
> With extboot the virtio-blk PCI adapter is not touched by the
> firmware/bootloader. Is it possible that a virtio-blk interrupt is
> raised and not acknowledged before entering Linux. When Linux brings
> up the serial port it gets swamped with interrupts? That's just a
> guess.
>
That is possible when bios is actually used to boot the guest, but bug
reporter uses -kernel option so no bios boot code should run at all.
Virtio is initialized anyway, but this will happen with boot=on too.
> Newer (non-RHEL 5.5) kernels boot fine without extboot, so another
> path to solving this bug is to bisect guest kernels.
>
> Stefan
--
Gleb.
next prev parent reply other threads:[~2010-07-05 12:41 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-02 3:31 KVM git hangs with if=virtio (works under kvm 0.12.3) ewheeler
2010-07-02 8:07 ` Stefan Hajnoczi
2010-07-05 12:11 ` Stefan Hajnoczi
2010-07-05 12:17 ` Gleb Natapov
2010-07-05 12:36 ` Stefan Hajnoczi
2010-07-05 12:41 ` Gleb Natapov [this message]
2010-07-07 9:03 ` Stefan Hajnoczi
2010-07-07 9:13 ` Gleb Natapov
2010-07-07 9:36 ` Stefan Hajnoczi
2010-07-07 9:38 ` Gleb Natapov
2010-07-07 20:28 ` ewheeler
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=20100705124112.GR4689@redhat.com \
--to=gleb@redhat.com \
--cc=kvm@ew.ewheeler.org \
--cc=kvm@vger.kernel.org \
--cc=stefanha@gmail.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.