[Bug 1465935] Re: kvm_irqchip_commit_routes: Assertion `ret == 0' failed
** Also affects: qemu (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1465935 Title: kvm_irqchip_commit_routes: Assertion `ret == 0' failed To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1465935/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1465935] Re: kvm_irqchip_commit_routes: Assertion `ret == 0' failed
>From kvm_pc_setup_irq_routing() function, we can see that 15 routes from PIC and 23 routes from IOAPIC are added into irq route table, but only 23 irq(gsi) are reserved. This leads to irq route table has been full but there are still tens of free gsi. So the "retry" part of kvm_irqchip_get_virq() shall never have chance to be executed. void kvm_pc_setup_irq_routing(bool pci_enabled) { KVMState *s = kvm_state; int i; if (kvm_check_extension(s, KVM_CAP_IRQ_ROUTING)) { for (i = 0; i < 8; ++i) { if (i == 2) { continue; } kvm_irqchip_add_irq_route(s, i, KVM_IRQCHIP_PIC_MASTER, i); } for (i = 8; i < 16; ++i) { kvm_irqchip_add_irq_route(s, i, KVM_IRQCHIP_PIC_SLAVE, i - 8); } if (pci_enabled) { for (i = 0; i < 24; ++i) { if (i == 0) { kvm_irqchip_add_irq_route(s, i, KVM_IRQCHIP_IOAPIC, 2); } else if (i != 2) { kvm_irqchip_add_irq_route(s, i, KVM_IRQCHIP_IOAPIC, i); } } } kvm_irqchip_commit_routes(s); } } static int kvm_irqchip_get_virq(KVMState *s) { uint32_t *word = s->used_gsi_bitmap; int max_words = ALIGN(s->gsi_count, 32) / 32; int i, bit; bool retry = true; again: /* Return the lowest unused GSI in the bitmap */ for (i = 0; i < max_words; i++) { bit = ffs(~word[i]); if (!bit) { continue; } return bit - 1 + i * 32; } if (!s->direct_msi && retry) { retry = false; kvm_flush_dynamic_msi_routes(s); goto again; } return -ENOSPC; } -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1465935 Title: kvm_irqchip_commit_routes: Assertion `ret == 0' failed To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1465935/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1465935] Re: kvm_irqchip_commit_routes: Assertion `ret == 0' failed
http://lists.gnu.org/archive/html/qemu-devel/2015-01/msg00822.html Seems that the latest version code has answered maintainers questions. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1465935 Title: kvm_irqchip_commit_routes: Assertion `ret == 0' failed To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1465935/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1465935] Re: kvm_irqchip_commit_routes: Assertion `ret == 0' failed
Ryan, Our Hypervisors are running in the internal network which can't access to Launchpad, # apport-collect 1465935 ERROR: connecting to Launchpad failed: [Errno 110] Connection timed out We saw this qemu crash on 18 Hypervisor nodes. So far all our hypervisors are ubuntu 12.04, qemu-2.0.0+dfsg, and guest OS is only RHEL6.3 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1465935 Title: kvm_irqchip_commit_routes: Assertion `ret == 0' failed To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1465935/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1465935] Re: kvm_irqchip_commit_routes: Assertion `ret == 0' failed
-Original Message- From: Paolo Bonzini [mailto:pbonz...@redhat.com] Sent: 2015年7月1日 21:39 To: Li, Chengyuan Cc: kevin...@tencent.com Subject: Re: [Qemu-devel] [PATCH] Fix irq route entries exceed KVM_MAX_IRQ_ROUTES On 30/06/2015 05:47, Li, Chengyuan wrote: > Here is my understanding, > > 1) why isn't the existing check in kvm_irqchip_get_virq enough to fix > the bug? > > From kvm_pc_setup_irq_routing() function, we can see that 15 routes > from PIC and 23 routes from IOAPIC are added into irq route table, but > only > 23 irq(gsi) are reserved. This leads to irq route table has been full > but there are still 15 free gsi. So the "retry" part of > kvm_irqchip_get_virq() shall never have chance to be executed. > > 2) If you introduce this extra call to kvm_flush_dynamic_msi_routes, > does the existing check become obsolete? > > As gsi_count is the max number of irq route table, if below code is > merged, then existing check is obsolete and can be removed. > > +if (!s->direct_msi && s->irq_routes->nr == s->gsi_count) { > +kvm_flush_dynamic_msi_routes(s); > +} > > Please let me know if you have some other comments for the patch? Thanks! Thanks for finally clearing up my doubts about the patch! I'll apply it soon. Paolo -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1465935 Title: kvm_irqchip_commit_routes: Assertion `ret == 0' failed To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1465935/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1465935] Re: kvm_irqchip_commit_routes: Assertion `ret == 0' failed
Bader, Sorry to response late. We patch our QEMU 2.0 and running on ubuntu 12.04, and shall keep it running for a while. I'll let you know if this problem is gone after weeks. Regards, CY. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1465935 Title: kvm_irqchip_commit_routes: Assertion `ret == 0' failed To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1465935/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1465935] Re: kvm_irqchip_commit_routes: Assertion `ret == 0' failed
Bader, We don't see this problem after the patch is applied. I think we can close this case. Regards, CY. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1465935 Title: kvm_irqchip_commit_routes: Assertion `ret == 0' failed To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1465935/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1465935] Re: kvm_irqchip_commit_routes: Assertion `ret == 0' failed
@Stefan Bader, The host OS is ubuntu 12.04, and we upgraded the QEMU to 2.0.0 from ubuntu cloud-archive repo. https://wiki.ubuntu.com/ServerTeam/CloudArchive -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1465935 Title: kvm_irqchip_commit_routes: Assertion `ret == 0' failed To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1465935/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1413481] [NEW] Can't get libvirt source code by bzr
Public bug reported: I'm trying to get libvirt source by bzr, but failed, see the error below. $ bzr branch lp:~ubuntu-cloud-archive/ubuntu/precise/libvirt/precise-icehouse libvirt-precise-icehouse bzr: ERROR: Revision {package-imp...@ubuntu.com-20130502102149-2ajbdvo0ii64m2qd} not present in "Graph(StackedParentsProvider(bzrlib.repository._LazyListJoin(([CachingParentsProvider(None)], []". ** Affects: bzr (Ubuntu) Importance: Undecided Status: New ** Package changed: duplicity (Ubuntu) => bzr (Ubuntu) -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1413481 Title: Can't get libvirt source code by bzr To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/bzr/+bug/1413481/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs