Do not inject IRQ when guest suppress it.
This can reduce IRQ injection further and bumps
host to guest bandwitdh to 6178.78 Mbps(cpu 63.96%).
Signed-off-by: Asias He <asias.hejun@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
void virt_queue__trigger_irq(struct virt_queue *vq, int irq, u8 *isr, struct kvm *kvm)
{
+ if (vq->vring.avail->flags & VRING_AVAIL_F_NO_INTERRUPT)
+ return;
+
if (*isr == VIRTIO_IRQ_LOW) {
*isr = VIRTIO_IRQ_HIGH;
kvm__irq_line(kvm, irq, VIRTIO_IRQ_HIGH);