because of some other work, i could not focus on this problem last month. now i find the wrong vaule of isr cause this problem. in function vp_interrupt, the isr is 0, and the virtio_balloon pci device have 100000 times initerrupts. then IRQ #11 disabled. static irqreturn_t vp_interrupt(int irq, void *opaque) { struct virtio_pci_device *vp_dev = opaque; struct virtio_pci_vq_info *info; irqreturn_t ret = IRQ_NONE; unsigned long flags; u8 isr; /* reading the ISR has the effect of also clearing it so it's very * important to save off the value. */ isr = ioread8(vp_dev->ioaddr + VIRTIO_PCI_ISR); /* It's definitely not us if the ISR was not high */ if (!isr) return IRQ_NONE; //return from here 2010/12/9 Michael S. Tsirkin <mst@xxxxxxxxxx>: > On Fri, Nov 26, 2010 at 10:38:33AM +0800, lidong chen wrote: >> Does this message appear on boot, or after some stress? >> on boot, and only appear when boot from network. >> >> Which qemu-kvm version? >> [root@kvm-4slot ~]# /usr/libexec/qemu-kvm --version >> QEMU PC emulator version 0.12.1 (qemu-kvm-0.12.1.2), Copyright (c) >> 2003-2008 Fabrice Bellard > > what happens with the latest qemu? > >> Does cherry-picking 3fff0179e33cd7d0a688dab65700c46ad089e934 help? >> the virtio_pci have already used this patch, still have this problem. >> >> What does info irqs show in qemu? >> how to collect this information? >> >> but I found if modify the slot number of balloon device from 0x03 to >> 0x09, the problem solved. >> >> <memballoon model='virtio'> >> <alias name='balloon0'/> >> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' >> function='0x0'/> >> </memballoon> > > Interesting. Is it possible that even after baloon is moved, > there's still the message in guest, only this time > things keep going afterwards? > >> and i found someone else also meet this problem. >> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/584675 >> >> >> >> 2010/11/25 Michael S. Tsirkin <mst@xxxxxxxxxx>: >> > On Thu, Nov 25, 2010 at 10:21:24PM +0800, lidong chen wrote: >> >> [version] >> >> the host os version is 2.6.32 >> > >> > Which qemu-kvm version? >> > >> >> the guest os version is 2.6.16 >> >> >> >> [dmesg] >> >> ACPI: (supports S3 S4 S5) >> >> Freeing unused kernel memory: 200k freed >> >> input: ImExPS/2 Generic Explorer Mouse as /class/input/input2 >> >> ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11 >> >> ACPI: PCI Interrupt 0000:00:03.0[A] -> Link [LNKC] -> GSI 11 (level, >> >> high) -> IRQ 11 >> >> io address 0001c040ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10 >> >> ACPI: PCI Interrupt 0000:00:04.0[A] -> Link [LNKD] -> GSI 10 (level, >> >> high) -> IRQ 10 >> >> io address 0001c060ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10 >> >> ACPI: PCI Interrupt 0000:00:05.0[A] -> Link [LNKA] -> GSI 10 (level, >> >> high) -> IRQ 10 >> >> io address 0001c080ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11 >> >> ACPI: PCI Interrupt 0000:00:06.0[A] -> Link [LNKB] -> GSI 11 (level, >> >> high) -> IRQ 11 >> >> io address 0001c0a0<6>ACPI: PCI Interrupt 0000:00:07.0[A] -> Link >> >> [LNKC] -> GSI 11 (level, high) -> IRQ 11 >> >> io address 0001c0c0<6>ACPI: PCI Interrupt 0000:00:08.0[A] -> Link >> >> [LNKD] -> GSI 10 (level, high) -> IRQ 10 >> >> io address 0001c0e0 >> >> irq 11: nobody cared (try booting with the "irqpoll" option) >> >> [<c01457b0>] __report_bad_irq+0x2b/0x69 >> >> [<c0145979>] note_interrupt+0x18b/0x1b2 >> >> [<c01452a9>] handle_IRQ_event+0x26/0x51 >> >> [<c014537f>] __do_IRQ+0xab/0xdc >> >> [<c0106445>] do_IRQ+0x46/0x53 >> >> [<c0104e8a>] common_interrupt+0x1a/0x20 >> >> [<c01276f2>] __do_softirq+0x4f/0xc2 >> >> [<c0127793>] do_softirq+0x2e/0x32 >> >> [<c0104f3c>] apic_timer_interrupt+0x1c/0x30 >> >> [<c0102d55>] default_idle+0x2e/0x5c >> >> [<c0102e14>] cpu_idle+0x91/0xad >> >> [<c03946e5>] start_kernel+0x34c/0x353 >> >> handlers: >> >> [<f88252ee>] (vp_interrupt+0x0/0x3e [virtio_pci]) >> >> Disabling IRQ #11 >> > >> > Does this message appear on boot, or after some stress? >> > Does cherry-picking 3fff0179e33cd7d0a688dab65700c46ad089e934 help? >> > Happens with a newer kernel as guest? >> > What does info irqs show in qemu? >> > >> > >> > -- >> > MST >> > -- >> > To unsubscribe from this list: send the line "unsubscribe kvm" in >> > the body of a message to majordomo@xxxxxxxxxxxxxxx >> > More majordomo info at http://vger.kernel.org/majordomo-info.html >> > > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html