Re: [PATCH RFC] kvm: enable irq injection from interrupt context

From: Michael S. Tsirkin
Date: Thu Sep 16 2010 - 11:30:22 EST


On Thu, Sep 16, 2010 at 04:51:17PM +0200, Gleb Natapov wrote:
> > > What for? Device emulation should do de-assert.
> >
> > Sorry, but at this point I have no idea what you call device emulation.
> The same thing everyone calls device emulation. In case of virtio-net it
> is in hw/virtio-net.c. If vhost-net is in use device emulation is split
> between userspace and kernel, but it is still just device emulation.


case in point, virtio net does not know about pci at all,
so it can not deassert.

> > qemu has code to de-assert. vhost has code to assert.
> Good. So qemu will de-assert. So what do you mean by
> "KVM would need to find all irqfd objects mapped to gsi and notify
> them on deassert"
>
> > I would like to optimize level interrupts and stop driving
> > scheduler insane if at all possible.
> >
> Worthy goal. Do it in irqfd. Irqfd shouldn't call kvm_set_irq() if irq
> level hasn't changed.

Right. Then it needs to know about deasserts. It does not get this
information, so when kvm gets deassert ioctl it should
locate irqfd object and set level to 0.
See?

--
MST

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/