>From the debug log, we can see that virq is only 1008, but irq route table has 
>been full, i.e. 1024. 
In kvm_irqchip_get_virq(), it only calls kvm_flush_dynamic_msi_routes() when 
all virqs(total gsi_count, 1024 too) have been allocated,  but irq route table 
has two kind of entry type,  KVM_IRQ_ROUTING_IRQCHIP and KVM_IRQ_ROUTING_MSI. 
Seems that 16 KVM_IRQ_ROUTING_IRQCHIP entries has been reserved, if max 
gsi_count is still 1024, then irq route table is possible to be overflow.
The fix could be either set gsi_cout=1008 or increase max irq route count to 
1040.

kvm_irqchip_send_msi, virq=1008, nr=1024
kvm_irqchip_commit_routes, ret=-22
kvm_irqchip_commit_routes, irq_routes nr=1024

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1465935

Title:
  kvm_irqchip_commit_routes: Assertion `ret == 0' failed

Status in QEMU:
  New

Bug description:
  Several my QEMU instances crashed, and in the  qemu log, I can see
  this assertion failure,

     qemu-system-x86_64: /build/buildd/qemu-2.0.0+dfsg/kvm-all.c:984:
  kvm_irqchip_commit_routes: Assertion `ret == 0' failed.

  The QEMU version is 2.0.0, HV OS is ubuntu 12.04, kernel 3.2.0-38.
  Guest OS is RHEL 6.3.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1465935/+subscriptions

Reply via email to