All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gleb Natapov <gleb@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Jonathan Nieder <jrnieder@gmail.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	kvm@vger.kernel.org, Michael Tokarev <mjt@tls.msk.ru>,
	Guillem Jover <guillem@debian.org>
Subject: Re: [regression] KVM: hangs and "irq timeout" booting HURD unless -no-kvm-irqchip passed
Date: Mon, 7 Feb 2011 15:27:29 +0200	[thread overview]
Message-ID: <20110207132729.GC14984@redhat.com> (raw)
In-Reply-To: <20110207124513.GB14984@redhat.com>

On Mon, Feb 07, 2011 at 02:45:13PM +0200, Gleb Natapov wrote:
> On Mon, Feb 07, 2011 at 02:39:01PM +0200, Avi Kivity wrote:
> > On 02/07/2011 08:00 AM, Jonathan Nieder wrote:
> > >Hi kvm-ers,
> > >
> > >When I boot the HURD with
> > >
> > >	kvm -m 768 -net nic,model=ne2k_pci -net user hurd-installed.qemu
> > >
> > >it hangs and eventually produces two messages:
> > >
> > >	hd0: unexpected_intr: status=0x58 { DriveReady SeekComplete DataRequest }
> > >	hd0: irq timeout: status=0x58 { DriveReady Seek Complete DataRequest }
> > >
> > >More details below[1].
> > >
> > >Adding -no-kvm-irqchip to the kvm command line fixes it --- no
> > >more hangs or confusing messages (thanks, Guillem!).
> > >
> > >Bisects (thanks to Michael for the idea) to
> > >
> > >	v2.6.37-rc1~142^2~39 (KVM: Check for pending events before
> > >	attempting injection, 2010-07-27).
> > >
> > >Bisection log and kernel configuration available upon request (but
> > >probably not too relevant --- the 2.6.37 distro kernel from Debian
> > >exhibits the same problem).  Reproducible with kvm/master (2d4b4d26,
> > >2011-02-01).
> > >
> > >CPU is a dual-core AMD Athlon II P360, family 16, model 6.
> > >
> > >Any hints for tracking this down?  For those wanting to follow along
> > >at home, you can find a HURD cd to try at [2].
> > >
> > 
> > Reproduced on AMD, not on Intel.  Given that I see a few PIC and PIT
> > PIOs before the hang, the problem is likely at the PIT.  Will look
> > further.
> > 
> I can reproduce it on Intel. Looking into it. Looks like PIC isr_ack
> problem again.
> 

Is this patch helps?

diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c
index 3cece05..62b1dde 100644
--- a/arch/x86/kvm/i8259.c
+++ b/arch/x86/kvm/i8259.c
@@ -549,6 +549,9 @@ static void pic_irq_request(struct kvm *kvm, int level)
 	struct kvm_pic *s = pic_irqchip(kvm);
 	int irq = pic_get_irq(&s->pics[0]);
 
+	if (s->output && !level)
+		s->pics[0].isr_ack = 0xff;
+
 	s->output = level;
 	if (vcpu && level && (s->pics[0].isr_ack & (1 << irq))) {
 		s->pics[0].isr_ack &= ~(1 << irq);
--
			Gleb.

  reply	other threads:[~2011-02-07 13:27 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-30 12:35 [PATCH v5 0/5] Nonatomic interrupt injection Avi Kivity
2010-08-30 12:35 ` [PATCH v5 1/5] KVM: Check for pending events before attempting injection Avi Kivity
2011-02-07  6:00   ` [regression] KVM: hangs and "irq timeout" booting HURD unless -no-kvm-irqchip passed Jonathan Nieder
2011-02-07 12:39     ` Avi Kivity
2011-02-07 12:45       ` Gleb Natapov
2011-02-07 13:27         ` Gleb Natapov [this message]
2011-02-08  1:40           ` Jonathan Nieder
2011-02-08  7:40             ` Michael Tokarev
2011-02-08 12:00             ` Gleb Natapov
2011-02-08 14:22               ` Marcelo Tosatti
2011-02-08 14:41                 ` Gleb Natapov
2011-02-08 14:43                 ` Avi Kivity
2011-02-08 14:47                   ` Gleb Natapov
2011-02-08 14:57                     ` Avi Kivity
2011-02-08 17:44                       ` Marcelo Tosatti
2011-02-08 20:40               ` Jonathan Nieder
2010-08-30 12:35 ` [PATCH v5 2/5] KVM: VMX: Split up vmx_complete_interrupts() Avi Kivity
2010-08-30 12:35 ` [PATCH v5 3/5] KVM: VMX: Move real-mode interrupt injection fixup to vmx_complete_interrupts() Avi Kivity
2010-08-30 12:35 ` [PATCH v5 4/5] KVM: VMX: Parameterize vmx_complete_interrupts() for both exit and entry Avi Kivity
2010-08-30 12:35 ` [PATCH v5 5/5] KVM: Non-atomic interrupt injection Avi Kivity

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=20110207132729.GC14984@redhat.com \
    --to=gleb@redhat.com \
    --cc=avi@redhat.com \
    --cc=guillem@debian.org \
    --cc=jrnieder@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=mjt@tls.msk.ru \
    --cc=mtosatti@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 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.