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

From: Michael S. Tsirkin
Date: Thu Sep 16 2010 - 09:44:31 EST


On Thu, Sep 16, 2010 at 03:14:11PM +0200, Avi Kivity wrote:
> On 09/16/2010 02:57 PM, Michael S. Tsirkin wrote:
> >>
> >> > > If you want to split parts that asserts irq and de-asserts it then we
> >> > > should have irqfd that tracks line status and knows interrupt line
> >> > > polarity.
> >> >
> >> > Yes, it can know about polarity even though I think it's cleaner to do this
> >> > per gsi. But it can not track line status as line is shared with
> >> > other devices.
> >> It should track only device's line status.
> >
> >There is no such thing as device's line status on real hardware, either.
> >Devices do not drive INT# high: they drive it low (all the time)
> >or do not drive it at all.
> >
>
> That's just an implementation detail. Devices either assert INT# or
> they do not. Tying the wires together constitutes an AND gate.
> This gate has to be modelled somewhere, currently it's in qemu's pci
> emulation.

Right. kvm in kernel has this as well, we need to keep this in
kvm kernel if we want to support level with irqfd.
Where it does not belong is individual devices: these
should be able to assert INTx multiple times
and it should have no effect, as per spec.

> --
> error compiling committee.c: too many arguments to function
--
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/