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

From: Michael S. Tsirkin
Date: Thu Sep 16 2010 - 06:50:57 EST


On Thu, Sep 16, 2010 at 12:20:47PM +0200, Gleb Natapov wrote:
> On Thu, Sep 16, 2010 at 12:13:39PM +0200, Michael S. Tsirkin wrote:
> > On Thu, Sep 16, 2010 at 12:13:32PM +0200, Gleb Natapov wrote:
> > > On Thu, Sep 16, 2010 at 11:53:10AM +0200, Michael S. Tsirkin wrote:
> > > > On Thu, Sep 16, 2010 at 11:46:03AM +0200, Avi Kivity wrote:
> > > > > On 09/16/2010 11:25 AM, Gleb Natapov wrote:
> > > > > >>
> > > > > >> MSI only appeared in rhel6, older guests still use level interrupts.
> > > > > >So they are already slow for other reasons.
> > > > > >
> > > > >
> > > > > Exactly, for example they need to exit to userspace to ack the
> > > > > interrupt. That's far slower than the workqueue.
> > > >
> > > > Well, this is not exactly comparable: you might get
> > > > same irq asserted multiple times and only deasserted once.
> > > >
> > > Are we talking about level interrupts? Why would you assert level
> > > triggered interrupt multiple times before deasserting it?
> >
> > User of irqfd has no way to know what current interrupt level is.
> > So it has to keep asserting.
> >
> Why can't it keep track of current level?

This breaks the model: eventfd user is unaware of PCI, levels and such:
it just signals the event. Remember that asserts are done from e.g. vhost-net,
deasserts need to be handled by qemu.

> --
> Gleb.
--
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/